Swift 函数式编程入门与函数详解
1. Swift 基础概念
1.1 自动引用计数
引用计数仅适用于类的实例。结构体和枚举是值类型,而非引用类型,它们不会通过引用进行存储和传递。
弱引用可用于解决强引用循环,定义方式如下:
weak var aWeakProperty
无主引用不会对其所引用的实例持有强引用。与弱引用不同,无主引用始终被定义为非可选类型。闭包捕获列表可用于解决闭包强引用循环。当闭包和它捕获的实例始终相互引用且同时被释放时,闭包中的捕获可以定义为无主引用;当捕获的引用在未来某个时刻可能变为 nil 时,可以将其定义为弱引用。弱引用始终是可选类型。示例如下:
class AClassWithLazyClosure {
lazy var aClosure: (Int, String) -> String = {
[unowned self] (index: Int, stringToProcess: String) -> String in
// closure body goes here
return ""
}
}
1.2 可选类型和可选链
可选类型是 Swift 中可以有值或无值的类型。可选链是一种在可能当前为 nil 的可选类型上查询和调用属性、方法和下标的过程。S
超级会员免费看
订阅专栏 解锁全文
60

被折叠的 条评论
为什么被折叠?



