以默认值声明变量,例如:
var myBoolean = false
或者在诸如viewDidLoad或其他委托的视图生命周期方法中初始化值更好。
override func viewDidLoad() {
self.myBoolean = false
}
我想知道其中之一在内存使用方面是否更好。
(我知道,如果您希望每次查看时都将变量设置为一个值,则可以使用viewWillAppear)。
答案 0 :(得分:6)
还是在诸如viewDidLoad之类的视图生命周期方法中初始化值是更好的选择
它不是“更好”的。这是不可能的。
您无法通过第二个代码初始化self.myBoolean
:
override func viewDidLoad() {
self.myBoolean = false
}
在我们到viewDidLoad
时,已经初始化了所有实例变量,例如self.myBoolean
,因为它们必须在创建self
时进行初始化,而这已经发生了。因此,根据定义,您的代码 not 不初始化self.myBoolean
;它正在覆盖它已经存在的价值。它已通过其他方式进行了初始化。
所有存储实例变量必须具有初始值,该初始值可以在声明的同一行中或通过init
来赋值。没有其他方法,而且没有一个比另一个更有效。