タブバー自体、ナビゲーションコントローラ、または???のようなものがdealloc'ingされているようですが、これは特定のビューに移動すると発生しますコントローラーを押してからタブバーを特定のタブに合わせます(たとえば、中央のタブに3つのタブを押しても問題はありませんが、右端のタブをクリックするとクラッシュします)。私のプログラムは基本的に完全で、この時点ではかなり大きなコードベースを持っています。誰でもこれをデバッグするための提案があります - 私はこれまで作業を待っていました。私の感覚は、deallocルーチンと隣接するコード内のすべてのリリースを調べることです。あなたが示唆することができる「マニュアル」が少ないものはありますか?ありがとう!タブバー問題: - [UILayoutContainerViewハッシュ]:メッセージが割り当て解除されたインスタンスに送信されました
0
A
答えて
1
もっと知ることなく、ここで私はそれについてどうやって行くのですか?
ログビューアで、gdbで例外が発生した後にbacktraceと入力します。うまくいけば、これはあなたに何回オブジェクトが何回も自由に表示されていることを示す正確な行を与えます。
このオブジェクトへの参照を探し、不必要なリリース、自動解放などを検査で見つけることができるかどうかを確認してください。実行パスが所有していないもの(allocを介して)を/ autoreleaseで解放しないでください。
(このオブジェクトにretainCountメッセージを送信することで)このオブジェクトの保持カウントが印刷されることがあります。開発者のドキュメントでは、これは無意味で実り多いものではないことが強く示唆されていますが、私が偶然に何かを解放したときに、
関連する問題
- 1. iphone:割り当て解除インスタンスに送信されたメッセージ
- 2. observeValueForKeyPath:割り当て解除インスタンスに送信されたメッセージ
- 3. エラー[CCSprite visit]:割り当て解除されたインスタンスに送信されたメッセージ
- 4. [UIViewAnimationState animationDidStop:finished:]:メッセージが割り当て解除されたインスタンスに送信されました
- 5. メッセージが割り当て解除されたインスタンスに送信されました - NSUserDefaults
- 6. UITableView with custom cell subview - respondsToSelector:]:メッセージが割り当て解除されたインスタンスに送信されました
- 7. - [Not A Type _cfTypeID]:メッセージが割り当て解除されたインスタンスに送信されました
- 8. NSIndexPath:割り当て解除されたインスタンスにメッセージが送信されました
- 9. - [CALayer release]:メッセージが割り当て解除されたインスタンスに送信されました
- 10. - [__ NSArrayI isEqualToString:]:割り当て解除されたインスタンスにメッセージを送信
- 11. エラー - [NSIndexPath release]:メッセージが割り当て解除されたインスタンスに送信されました。0x6a9d790
- 12. ゾンビレポート:メッセージが割り当て解除されたインスタンスに送信されました
- 13. CGImageRelease:[Not A Type release]:メッセージが割り当て解除されたインスタンスに送信されました
- 14. - [カントリーリザーブ]:割り振り解除されたインスタンスに送信されたメッセージ0x6829280
- 15. NSDateのalloc initとメッセージを割り当て解除されたインスタンスに送信
- 16. [AVRetainReleaseWeakReferenceリリース]:割り当て解除インスタンスに送信されたメッセージ0x171a2cd40
- 17. [未種類リリース]:割り当て解除インスタンスに送信されたメッセージ0x5853f00
- 18. ios5デバイス上のNSZombieで割り当て解除されたインスタンスに送信されたメッセージを解決する
- 19. removeObjectAtIndexによって「メッセージは割り当て解除されたインスタンスに送信されます」
- 20. 解放されたインスタンスにメッセージが送信されました
- 21. 重度使用後に割り当て解除されたインスタンスに送信されたメッセージ?
- 22. 割り当て解除インスタンスに送信された解放メッセージが、インスタンスのポインタは、ここではnil
- 23. CCSchedulerが、割り付け解除されたインスタンスに送信されたメッセージとしてクラッシュします。
- 24. - [Not A Type retain]:割り当て解除されたインスタンスに送信されたメッセージ
- 25. Getting - [Not A Type retain]:ARC変更後の割り当て解除されたインスタンスに送信されたメッセージ
- 26. Objective-C appクラッシュ "メッセージが割り当て解除されたインスタンス0xに送られました。"
- 27. 目的CメソッドremoveFromSuperviewにより、割り当て解除されたオブジェクトにメッセージが送信される
- 28. iPhone - 割り当て解除されたインスタンスにメッセージを送信する - なぜですか?
- 29. iOSエラー:ラベルを変更しようとしたときに「メッセージが割り当て解除されたインスタンスに送信されました」
- 30. "メッセージが割り当て解除されたインスタンスに送信されました" - 保持する方法が見つかりません。
上記のデバッグを使用して解決しました。 1)nibでロードされたビューコントローラのloadViewの代わりに - (void)viewDidLoadを使用しました。 2)も変更されました: UIView * contentView = [self.navigationController view]; self.view = contentView; [contentView release]; to: self.view = [self.navigationController view]; – Rob
醜いフォーマットのため申し訳ありませんが、サイトでは「既に回答している質問」にコメントを残すことをおすすめします。 – Rob
あなたのポイント2の変化は理にかなっています。 contentViewのUIViewはallocしていないので、コードパスは所有していません。したがって、[contentView release]メッセージは無関係でした。よくやった! – hyuan