私のインスタンスが別のオブジェクトのいくつかのプロパティを監視している場合、deallocでremoveObserver:forKeyPath:を呼び出すと思いますか?removeObserver:forKeyPath:in dealloc
5
A
答えて
10
はい
...もっと適切な時間は、以前の実行中に存在しない限り。
オブザーバーは保持されていない参照として保持されます。登録解除に失敗すると、割り当て解除されたインスタンスがメッセージされる可能性があります。
3
- [NSObject dealloc]が実行される前にオブザーバを削除するには、-removeObserver:forKeyPath:を使用する必要があります。そうすれば、クラスの-deallocメソッドで行うことになります。
この質問を参照してください。
Removing an Observer
question2
関連する問題
- 1. のdealloc UILabel
- 2. - (void)dealloc質問
- 3. super dealloc EXC_BAD_ACCESSエラー
- 4. iPhone - deallocサブビューUIViewController removeFromSuperview
- 5. xcode 4.2 memory alloc/dealloc
- 6. Xcode retaincount = 1 in dealloc
- 7. initメソッドの[self release]、[self dealloc]または[super dealloc]?
- 8. 別のクラスのDeallocオブジェクト
- 9. カスタムdeallocとARC(Objective-C)
- 10. finalizeとdeallocでvarsをクリーンアップ
- 11. iPhone deallocとviewDidUnload問題
- 12. deallocのivarとプロパティのリリース
- 13. iPadで問題を起こしているUIViewControllerのdealloc内の[super dealloc]
- 14. deallocメソッドについて何か
- 15. リリース、Dealloc、および自己参照
- 16. Objective Cのdeallocでのsetterの使用?
- 17. MyDownloader実装のsuper deallocのexc_bad_access
- 18. dealloc呼び出しでの混乱
- 19. iPhoneメソッドの質問(deallocとviewDidUnload)
- 20. IOS deallocが呼び出されない
- 21. iPhone ARCリリースノート - システムクラスの代理人のdealloc?
- 22. ARCはカスタム-deallocコードの前または後に-deallocにコードを挿入しますか?
- 23. cocos2dシーンのdeallocがreplaceSceneの後で呼び出されない
- 24. 静的UIViewControllerサブクラス内で[super dealloc]を呼び出さない
- 25. UIViewController&UIview deallocが呼び出されない
- 26. deallocが2回呼び出されました
- 27. スーパークラスでDeallocが呼び出されていない
- 28. アプリケーション終了時に-deallocメソッドが呼び出されますか?
- 29. deallocでIBOutletをリリースする必要がありますか?
- 30. Xcode 4.2.1でストーリーボードを使用した場合のDealloc