私のルートviewControllerのメソッドviewWillDisappear, viewWillUnload viewDidUnload
は決して呼び出されません(それぞれにログステートメントがあります)。viewWillDisappear、viewWillUnload viewDidUnloadは決して呼び出されません。
ここのように思われますが、回答は完全にはっきりしていません。これは、viewControllerビューがUINavigationController
に埋め込まれている必要があることを意味するように思われます。
viewWillDisappear and viewDidDisappear never get called
これは、他の私は、いくつかのクリーンアップを行うと、私のUIDocumentの変更が保存され得ることを保証することができます場合、ある場合は?
編集:私はroot viewControllerイベントがどのように機能するかを誤解していると推測します(ユニークな状態など)。 AppDelegateメソッドを調べます。私のUIDocumentの内容が保存されていること、そしてCore Audioのものが正しく閉じられていることを確認しようとしています。閉じる
: AppDelegateにより投稿された通知と一緒に行くことになりました。あなたは一度やった後、かなりうまく仕事をする+シンプルなものに見えます。 appDelegate
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[NSNotificationCenter defaultCenter] postNotificationName: @"handleCleanup"
object: nil
userInfo: nil];
}
と通知のために登録する私のVCから
//:
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(saveAndCleanup)
name: @"handleCleanup"
object: nil];
doh!それは理にかなっている。私はシミュレータでテストしていて、それらのビューイベントがトリガされるのを期待していました。 AppDelegateが私のクリーンアップを処理する正しい場所であるように見えます。 –