引言
所有内容均收集在 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 开发时,我就是先去了解它的开发语言和开发工具(因为是纯小白)
- 对于
开发语言,因为有其它编程语言的基础,因此我选择直接上手,遇到不会的再查文档 - 对于
开发工具,当然也是直接上手,慢慢摸索
反正,学习一门新东西就是十分痛苦,但这也不一定不好,毕竟在开发上,主要的还是思想,语言这些都是工具,会用的工具多也是一种技术,哈哈