引言
所有内容均收集在 iOS 入门系列合集 中。本篇文章是入门iOS 开发
的第一篇文章,涉及到的专业知识基本没有,主要是说明一下iOS 开发
的开发语言和使用工具,好循序渐进的入坑......
必备知识
说实话,刚听说iOS 开发
时,我是连它应该用什么语言什么工具开发都不知道的程度,但是我晓得iOS 开发
不同于前端开发
、后端开发
,它也有自己的开发语言以及编译工具,真的是纯小白......
开发语言
Objective-C
和Swift
两种语言都可以用做开发iOS
、macOS
等苹果平台应用的编程语言,Objective-C
相对于Swift
更有年代感,简单来说就是一些老项目仍会使用Objective-C
进行开发,而新项目基本都是用Swift
开发,所以,我自然选择的是学习Swift
当然,在有了长时间的开发经历之后,去学习Objective-C
也是有必要的,毕竟C系列
的嘛,在性能等某些方面会更好,所以当要接触到一些大项目、老项目时,学习还是很有必要的
Swift 语言
如果有其他语言的基础,可以先直接看其他iOS 程序
例子,遇到不会的语法再去文档中查阅,因为逻辑都是相同的,只是写法会稍有不同,需要适应~
Swift 特殊语法
在使用后续的UIkit
和SwiftUI
这两个框架进行iOS 开发
时,免不了会接触到Swift
的语法,对于一些基础的通用语法,各类语言都大差不差,但是对于Swift
独有的语法,还是需要重点学习一下的~
- 可选类型(Optionals):使用
?
来声明一个可选类型,强调变量可能没有值 - Guard:
guard
语句用于在条件不满足时提前退出代码块 - 闭包(Closures):
Swift
的闭包
类似于其他编程语言中的匿名函数
。可以作为参数
传递给函数,也可以作为返回值
从函数中返回 - 协议(Protocols):
Swift
的协议
类似于接口
,但还可以为方法
、属性
和其他成员
提供默认实现
在Swift
中,条件判断和循环遍历在写法上也有所不同
// 条件判断
if num > 0 {
print("Positive")
}
// 循环遍历
for i in 1...5 {
print(i)
}
// 写法上和 Python 很相似
闭包的使用语法
let numbers = [1, 2, 3, 4, 5]
let doubledNumbers = numbers.map { number in
return number * 2
}
这里的in
关键字在Swift
中用于引入闭包的参数列表
。它表示闭包的参数列表开始,并在in
后面定义闭包的具体代码块
特殊闭包用法
// 简写版
List(datas) {
Text("名称:\($0.name)")
}
// 完整版
List(datas) { data in
Text("名称:\(data.name)")
}
在某些高阶函数
中,可以将闭包
作为函数的最后一个参数,并使用trailing closure
语法,省略in
关键字,直接使用$0
来表示闭包的第一个参数
开发工具
Xcode
是苹果公司官方提供的用于开发iOS
、macOS
、watchOS
和tvOS
应用程序的集成开发环境(IDE)
。它为开发者提供了一整套工具,使他们能够创建
、测试
、调试
和发布
各种类型的应用程序。以下是一些Xcode
的特点和功能:
- 界面构建工具:
Xcode
内置了Interface Builder
,这是一个可视化工具,允许开发者通过拖放方式创建用户界面,设置布局和连接控件 - 编译器和调试器:
Xcode
集成了强大的编译器
和调试器
,可以帮助开发者检测和修复代码错误,以及进行性能分析 - 模拟器和设备调试:
Xcode
提供iOS 模拟器
,可以在开发过程中在不同类型的iOS 设备
上进行测试。同时,它也支持将应用程序安装到实际的iOS 设备
上进行调试 - 代码编辑器:
Xcode
内置了代码编辑器
,支持代码自动补全
、语法高亮
、代码折叠
等功能,提高了编码效率 - 版本控制:
Xcode
支持集成多种版本控制系统
,如Git
,可以方便地进行代码管理和协作开发 - 应用发布:
Xcode
提供了发布应用到App Store
的工具,可以将开发的应用程序打包并提交到App Store
供用户下载 - 性能优化:
Xcode
内置了工具用于分析应用的性能和内存使用情况
,帮助开发者优化应用的运行效率 - 自动化测试:
Xcode
支持编写单元测试
和UI 测试
,帮助开发者确保应用在各种情况下都能正常工作 - 资源管理:
Xcode
可以管理项目中的资源文件
,如图像
、音频
、文本文件
等
Xcode
确实是一个比较强大的IDE
,但是真正上手使用后会发现,与IDEA
和VSCode
比起来,还是不是那么友好的,大概是主要在性能方面进行优化处理,所以在提升体验上就没投入太多
下载
- APP Store 应用商店搜索下载
- 官网下载
不得不吐槽的便是:下载是真的很慢...很慢...
小结
总之,当我刚接触 iOS 开发时,我就是先去了解它的开发语言
和开发工具
(因为是纯小白)
- 对于
开发语言
,因为有其它编程语言的基础,因此我选择直接上手,遇到不会的再查文档 - 对于
开发工具
,当然也是直接上手,慢慢摸索
反正,学习一门新东西就是十分痛苦,但这也不一定不好,毕竟在开发上,主要的还是思想,语言这些都是工具,会用的工具多也是一种技术,哈哈