0
を失敗した私はViewControllerをにオブザーバを追加します。オブザーバを削除すると、私のアプリで
- (void)viewDidLoad {
[super viewDidLoad];
[[NSUserDefaults standardUserDefaults] addObserver:self
forKeyPath:@"messagesBadge"
options:NSKeyValueObservingOptionNew
context:NULL];
}
は、後でそれをクリーンアップ..and。
-(void)viewWillDisappear:(BOOL)animated{
[[NSUserDefaults standardUserDefaults] removeObserver:self forKeyPath:@"messagesBadge" context:NULL];
}
しかし、viewWillDisappear上のアプリがクラッシュした場合、ログ記録:それはあるので
は「NSUserDefaults 0x78e27f20からキー パス "messagesBadge" のためにオブザーバーmyViewController 0x78efa160を削除することはできません はオブザーバとして登録されていません。
私は間違っていますか?私はこの質問を削除することもできますが、多分それは他の人に役に立つ
代わりに 'dealloc'に入れてみてください。他の場所で既に削除しているかどうか確認してください – Tj3n