Xcode将outlets生成为带有隐式解包的弱变量,例如:
@IBOutlet weak var nameTextField: UITextField!
我想知道为什么它不直接使用onowned var
,在我理解中,它的行为与var
完全相同,但是类型保持为非可选类型。这两者之间有什么区别吗?
weak var foo: UITextField!
unowned var foo: UITextField
weak
或者strong
并不重要,但是unowned
是不正确的。 - SulthanviewDidLoad
或init
之前。如果我打印标签,它显示为nil
。第二次触发断点是在init
之后但仍在viewDidLoad
之前。这次如果我打印它,它会显示:Optional<UILabel>
。 - mfaani