什么时候在Swift类中设置属性值?

时间:2016-05-17 08:14:29

标签: ios swift uiviewcontroller

假设有一个带有属性的 UIViewController private var counter = 1
当类加载到内存中或每次viewDidLoad()方法调用时,此属性是否会获取其值?

3 个答案:

答案 0 :(得分:3)

viewDidLoad与属性的初始化无关。初始化类时,属性仅初始化一次。这就是为什么必须直接或在构造函数中初始化非可选属性的原因。

viewDidLoad只是常规函数,即使您直接调用它,属性也保持不变(如果它们在此方法中未更改)。

viewDidLoad是ViewControllers生命周期的一部分,只有在创建类并从xib加载时才会调用它。这就是为什么这种方法适合初始设置的原因......

答案 1 :(得分:1)

viewDidLoad仅在实例化时被调用,因此它只被异端创建调用一次。
所以它是一样的。

答案 2 :(得分:0)

如上所述:

  • viewDidLoad通常用于ViewController的init设置和变量(如果有必要)。
  • deinit通常用于设置每个ViewController变量的nil