ビューコントローラ(UIViewControllerのサブクラス)にボタンがあり、ボタンを押すとビューコントローラB( UIViewController)segueを使用して(私はインターフェイスビルダーを使用して接続を行ったので)。 SegueタイプはShowです。ビューコントローラをロードして、前のものをメモリから削除する
Bが表示されても、私は決してAに戻ることはありません。そのため、数千バイトの貴重なメモリを他のものに使うことができるように、殺す、破壊する、潰す、 (1)アプリケーションのルート・ビュー・コントローラを置換で
class ViewControllerB: UIViewController {
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
print("Go away old view controller!!!")
appDelegate.window!.rootViewController = self // (1)
}
}
マイコード:ここでBのコードである
class ViewControllerA: UIViewController {
deinit {
print("I am immortal haha I cannot die!!!")
print("This will not be displayed!!!")
}
}
:ここ
でのコードです。しかし、古いビューコントローラは、そのメモリの表示メッセージが表示されないため、メモリに残っているように見えます。
不要なビューコントローラとそのビューをアンロードする簡単なタスクをどのようにすればよいでしょうか?あなたはViewControllerA
からViewControllerB
を提示するとどうもありがとう