iOS 入门系列(一)

522 阅读5分钟

引言

所有内容均收集在 iOS 入门系列合集 中。本篇文章是入门iOS 开发的第一篇文章,涉及到的专业知识基本没有,主要是说明一下iOS 开发的开发语言和使用工具,好循序渐进的入坑......

必备知识

说实话,刚听说iOS 开发时,我是连它应该用什么语言什么工具开发都不知道的程度,但是我晓得iOS 开发不同于前端开发后端开发,它也有自己的开发语言以及编译工具,真的是纯小白......

开发语言

Objective-CSwift两种语言都可以用做开发iOSmacOS等苹果平台应用的编程语言,Objective-C相对于Swift更有年代感,简单来说就是一些老项目仍会使用Objective-C进行开发,而新项目基本都是用Swift开发,所以,我自然选择的是学习Swift

当然,在有了长时间的开发经历之后,去学习Objective-C也是有必要的,毕竟C系列的嘛,在性能等某些方面会更好,所以当要接触到一些大项目、老项目时,学习还是很有必要的

Swift 语言

如果有其他语言的基础,可以先直接看其他iOS 程序例子,遇到不会的语法再去文档中查阅,因为逻辑都是相同的,只是写法会稍有不同,需要适应~

Swift 特殊语法

在使用后续的UIkitSwiftUI这两个框架进行iOS 开发时,免不了会接触到Swift的语法,对于一些基础的通用语法,各类语言都大差不差,但是对于Swift独有的语法,还是需要重点学习一下的~

  • 可选类型(Optionals):使用?来声明一个可选类型,强调变量可能没有值
  • Guardguard语句用于在条件不满足时提前退出代码块
  • 闭包(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是苹果公司官方提供的用于开发iOSmacOSwatchOStvOS应用程序的集成开发环境(IDE)。它为开发者提供了一整套工具,使他们能够创建测试调试发布各种类型的应用程序。以下是一些Xcode的特点和功能:

  • 界面构建工具: Xcode内置了Interface Builder,这是一个可视化工具,允许开发者通过拖放方式创建用户界面,设置布局和连接控件
  • 编译器和调试器: Xcode集成了强大的编译器调试器,可以帮助开发者检测和修复代码错误,以及进行性能分析
  • 模拟器和设备调试: Xcode提供iOS 模拟器,可以在开发过程中在不同类型的iOS 设备上进行测试。同时,它也支持将应用程序安装到实际的iOS 设备上进行调试
  • 代码编辑器: Xcode内置了代码编辑器,支持代码自动补全语法高亮代码折叠等功能,提高了编码效率
  • 版本控制: Xcode支持集成多种版本控制系统,如Git,可以方便地进行代码管理和协作开发
  • 应用发布: Xcode提供了发布应用到App Store的工具,可以将开发的应用程序打包并提交到App Store供用户下载
  • 性能优化: Xcode内置了工具用于分析应用的性能和内存使用情况,帮助开发者优化应用的运行效率
  • 自动化测试: Xcode支持编写单元测试UI 测试,帮助开发者确保应用在各种情况下都能正常工作
  • 资源管理: Xcode可以管理项目中的资源文件,如图像音频文本文件

Xcode确实是一个比较强大的IDE,但是真正上手使用后会发现,与IDEAVSCode比起来,还是不是那么友好的,大概是主要在性能方面进行优化处理,所以在提升体验上就没投入太多

下载

不得不吐槽的便是:下载是真的很慢...很慢...

小结

总之,当我刚接触 iOS 开发时,我就是先去了解它的开发语言开发工具(因为是纯小白)

  • 对于开发语言,因为有其它编程语言的基础,因此我选择直接上手,遇到不会的再查文档
  • 对于开发工具,当然也是直接上手,慢慢摸索

反正,学习一门新东西就是十分痛苦,但这也不一定不好,毕竟在开发上,主要的还是思想,语言这些都是工具,会用的工具多也是一种技术,哈哈