Я заметил, что состояние переменных не сохраняется среди различных представлений контроллера представления.
var starrySky = StarrySky() // this has a state property which is false initially
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if starrySky.state == false { starrySky.createSky(for: self.view) }
if starrySky.state != false { starrySky.resumeSkyAnimations()} // this never runs
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
starrySky.state = true // here im changing the state
starrySky.removeSkyAnimations()
}
Поэтому всякий раз, когда я отклоняю этот ViewController и представляю его снова, мой starrySky.state
всегда ложен. У меня такой же код в тех же методах в моем rootViewController
, и всякий раз, когда я меняю представления, состояние сохраняется.
- Значит ли это, что любые V C, представленные модально, удаляются из памяти после вызова
dismiss(animated:,completion:)
?