14.4 Swift中weak引用 访问可选类型的时候,用隐式解包

前端之家收集整理的这篇文章主要介绍了14.4 Swift中weak引用 访问可选类型的时候,用隐式解包前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

/**

14.4-weak引用.mp4

*/

/**

4weak引用(弱引用)

*/

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关键字。

但是在某些场合下我们会使用它,会在接下来的课程讲解。

*/

原文链接:https://www.f2er.com/swift/322365.html

猜你在找的Swift相关文章