什么时候在Swift类中设置属性值?
问题描述:
假设有一个UIViewController与财产 private var counter = 1
。
当类加载到内存中或每次调用viewDidLoad()
方法时,此属性是否获取一次值?什么时候在Swift类中设置属性值?
答
viewDidLoad
仅在实例化时才被调用,所以它仅被异常创建调用一次。
所以它是一样的。
答
viewDidLoad
与属性的初始化无关。当初始化类时,属性仅初始化一次。这就是为什么非可选属性必须直接或在构造函数中初始化的原因。
viewDidLoad
只是常规函数,即使您直接调用它,属性保持不变(如果它们在此方法中未更改)。
viewDidLoad
是ViewControllers生命周期的一部分,当您从xib创建类并加载时,它只会被调用一次。这就是为什么这种方法是伟大的初始设置...正如所描述
答
前:
-
viewDidLoad
通常用于视图控制器的初始化设置和变量,如果它是必要的。 -
deinit
通常用于设置每个ViewController变量的使用nil
。