当前版本:Swift 5.9
1.计算属性和存储属性
- 计算属性(Computed Property)
-
- a.值类型 Value Type
-
- b.可以设置只读类型
- 存储属性(Stored Property)
-
- a.引用类型 Inference Type
-
- b.懒加载
-
- c.监听值的变化,使用
willSet
和didSet
- c.监听值的变化,使用
2.Struct和Class
共同点:
- a.构造函数
- b.属性定义
- c.函数定义
- d.扩展 Extension
- e.遵守协议 Protocols
Class更多优点
- a.类继承
- b.多态性 Polymorphism (继承、协议、扩展、泛型、类型转换(父子类转换)、操作符重载)
- c.析构函数,例如socket或者file资源需要释放时的操作
- d.作参数传递时:是引用传递
3.常见开源库使用
- HTTP开源库:Alamofire,对应OC的(AFNetworking)
- 基于UIKit布局的Autolayout:Snapkit,对用OC的(Masonry)
- 显示和下载图片的库:Kingfisher,对应OC的(SDWebImage)
- 异步编程PromiseKit的使用
- JSON解析库:SwiftyJSON和HandyJSON,自带的NSJSONSeriealization 或者 JSONKit
4.工具库管理
- Swift Package Manager,这是Xcode自带的
- CocoaPods,这是从Objective-C时代延续过来的
- Carthage,是在Swift Package Manager之前,CocoaPods之后流行起来的