unowned: 假设引用对象在生命周期总是存在,这样其属性声明是非可选类型。
weak: 对象在预见时间内可能为空,这样属性只能为可选类型
当访问对象时该对象可能已经被释放了,则用 weak。比如 delegate 的修饰。
当访问对象确定不可能被释放,则用 unowned。比如 self 的引用。
实际上为了安全起见,很多公司规定任何时候都使用 weak 去修饰。
unowned: 假设引用对象在生命周期总是存在,这样其属性声明是非可选类型。
weak: 对象在预见时间内可能为空,这样属性只能为可选类型
当访问对象时该对象可能已经被释放了,则用 weak。比如 delegate 的修饰。
当访问对象确定不可能被释放,则用 unowned。比如 self 的引用。
实际上为了安全起见,很多公司规定任何时候都使用 weak 去修饰。
本文标题:weak和unowned
本文链接:https://www.haomeiwen.com/subject/rwdysctx.html
网友评论