14.4 Swift中weak引用 访问可选类型的时候,用隐式解包
/** 14.4-weak引用.mp4 */
/** (4)weak引用(弱引用) */
class Ref { deinit { print("Ref deinit!") }
func test() -> Void { print("test") } }
/** 跟弱引用对应的就是强引用。 */ var strongRef = Ref.init() // 引用计数retainCount 1
var strongRef1 = strongRef // 引用计数retainCount 2
// 这就是弱引用,weak引用是非常安全的引用方式 weak var weakRef = Ref.init()
// 后面会自动置nil
// 弱引用,是一个可选类型。 weak var weakRef1: Ref? = Ref.init()
// 不建议这样子直接解包 // fatal error: unexpectedly found nil while unwrapping an Optional value // weakRef1!.test()
// 访问可选类型的时候用隐式解包, if let wr = weakRef1 {
// wr存在,才用它 wr.test() }
/** 我可以告诉大家的是,在Swift中我们平时用不着 weak关键字。 但是在某些场合下我们会使用它,会在接下来的课程讲解。 */ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |