swift中? ! weak unowned的跟人理解
Posted hazhade
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift中? ! weak unowned的跟人理解相关的知识,希望对你有一定的参考价值。
?相当于给属性套上一层包,即为一个Optional值,而Optional有None和Some两个值,该属性在定义时未初始化结果就是swift自动初始化为nil值(就是Optional中的None,本质上是有值的),在使用过程中当该属性为nil时其实其值为.None而进行判断;秉着严谨的态度我们应该在使用前进行 if value {}的判断;而!是相对于隐式拆包,在调用过程都会默认的添加上!;
SO:在控制器中我们已确定添加的控件在viewDidLoad中初始化,且基本不会在生命周期内销毁,所以考虑都用! 而相对的一些常变的string,cgfloat类型的属性,在周期内可能为空,所以用?
作用:属性中?是为了避免为nil而crash,而!避免重复判断,高效而简洁
以上是关于swift中? ! weak unowned的跟人理解的主要内容,如果未能解决你的问题,请参考以下文章
swift进阶七:引用计数(Strong、Unowned、Weak)