作者:韩吉碳晶移动电热地毯 | 来源:互联网 | 2022-10-21 13:41
声明具有默认值的变量是否是一个好习惯:
var myBoolean = false
还是在诸如viewDidLoad或其他委托的视图生命周期方法中初始化值更好。
override func viewDidLoad() {
self.myBoolean = false
}
我不知道其中之一在内存使用方面是否更好。
(我知道,如果您希望每次出现视图时都将变量设置为一个值,则可以使用viewWillAppear)。
1> matt..:
还是在诸如viewDidLoad的视图生命周期方法中初始化值更好
它不是“更好”的。是不可能的。
您无法self.myBoolean
通过第二个代码进行初始化:
override func viewDidLoad() {
self.myBoolean = false
}
在到的时候viewDidLoad
,任何实例变量(例如实例变量)self.myBoolean
都已经初始化,因为它们必须在self
创建时进行初始化,而这已经发生了。因此,根据定义,您的代码没有初始化self.myBoolean
;它正在覆盖它已经存在的价值。它以其他方式进行了更早的初始化。
所有存储的实例变量必须具有初始值,该初始值可以在声明的同一行中或通过进行赋值init
。没有其他方法,并且没有一个比另一个更有效。