当应用程序第一次进入前台时,app app inits和数据将在应用程序运行时加载。但是,如果应用程序转到后台然后重新进入前台 - 再次调用BaseObject的init并清除阵列。我已阅读过Swift init docs,但我还不清楚。更新 - viewDidLoad只被调用一次,所以没关系。
这是var的声明方式 - 我知道init再次被调用(我添加了一个带有print语句的init()来确认,当我去使用它时,数组是空的)。我打印了数组以确认在后台切换之前存在的数据。 THX
有人可以解释应该使用的正确方法或设计模式吗?
Class GameViewController: UIViewController {
var baseObject = BaseObject()
override func viewDidLoad() {
super.viewDidLoad()
}
Class BaseObject {
var waveTimes: [Int: Float] = [:]
Func loadData {
// adds data to wave times
}
}