在swift中,为什么UIlabel是可选的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在swift中,为什么UIlabel是可选的?相关的知识,希望对你有一定的参考价值。
看着这个,
@IBOutlet weak var label1 : UILabel!
为什么UILabel是可选的?我建立了与UILabel的IBOutlet连接的事实意味着UILabel DEFINATELY存在,并且不会是零。那么为什么它是一个可选的UIlabel?
而不是UILabel
?
答案
这是因为必须在构造函数中初始化非可选变量并保留所有生命周期。
IBOutlets也很弱,这意味着它可以变为零,例如查看控制器仍然活着。
另一答案
这是关于视图控制器生命周期实际发挥作用的方式。在继续之前,让我们了解模型,视图和控制器。
在加载视图(即标签)之前,View Controller对象本身会被实例化。在此期间,由于视图甚至没有加载,因此没有对标签的引用,因为它仍然需要从故事板创建。
出于这个原因,对于一个非常短暂的不可思议的时刻,该对象变为零。并且,当加载视图时:ViewController
,viewDidLoad()
,然后只将标签引用分配给变量。
这概述了为什么在ios中真正使用选项的简短描述。
以上是关于在swift中,为什么UIlabel是可选的?的主要内容,如果未能解决你的问题,请参考以下文章