皆さん、私のプロジェクトに問題があります。私は内部にUITableViewを持つUIViewControllerを持っています。このテーブルはカスタムセル(LSButtonCell)を読み込みます。 私は、このビューを複数回プッシュ/ポップしようとしたと私は、この奇妙な行動を発見した: http://i.stack.imgur.com/J0b4D.png
はUITableViewCellのは、自分自身を解放しませんようです。 何が起こったのですか?何か案が?UITableViewCellの割り当て
答えて
これまでのところ大丈夫ですが、deallocが呼び出されていることを確認しました。 deallocメソッドにNSLogステートメントを追加して、それらがscreen popで呼び出されているかどうか確認してください。
1)あなたが唯一の割り当て、デリゲートを保持することはありません:
は、あなたのコード内のいくつかの問題があります。相互に保持する。したがって、2つのオブジェクトのどちらも割り当て解除されません。
2)ゼロ矩形でビューを開始しないようにしてください。 UIView
initWithFrame:(CGRect)aFrame
の場合、aFrameは必要な引数なので、必要な引数が0であってはならないと推測するのは簡単です。CGRectZeroはいつでも悪いトリックをプレイできます。
3)プロパティを合成するときは、プロパティの名前と異なるivarsの名前を使用します(つまり、@synthesize delegate = delegate_;
)。セッターメソッドとゲッターメソッドの呼び出しを決して忘れることはありません。
あなたの問題について言えば、あなたの質問にLSButtonCellのヘッダーを追加すると役に立ちます。
私は2と3に同意しません。UITableViewCellsでは、contentViewのフレームはレイアウトのサブビューまで認識されません。私はCGRectZeroで初期化し、次にlayoutSubviewsでそれに応じてフレームを設定します。 3については、私はポスターコードの問題ではなく、あなたのコードに対して行った決定だと思います。まれなケースでのみ、プロパティ名をivarの名前と異なる名前に設定します。通常、サブクラスでの衝突の命名を避けるために使用します。 – Christian
確かに、それは義務的な規則ではありません。それは単なる良いスタイルの問題です。 – Zapko
- 1. UINibを使ったUITableViewCellのコンセントの割り当て
- 2. 割り当て
- 3. 割り当て
- 4. 割り当て
- 5. スタックメモリの割り当てと割り当て解除のメカニズム
- 6. UITableViewCellのサブクラスで、そのUITableViewCellのプロパティとして保持または割り当てますか
- 7. リソースの割り当て/割り当て解除
- 8. UIViewController.viewのメモリ割り当て/割り当て解除
- 9. メモリの割り当て/割り当て解除(WindowsではC++)
- 10. アセンブリランタイムメモリ割り当て
- 11. 割り当てメモリ**
- 12. シャイニーチャートスペース割り当て
- 13. メモリ割り当て
- 14. ダイナミックメモリ割り当て
- 15. エラー:割り当て
- 16. メモリ割り当て
- 17. UnboundLocalError:割り当て
- 18. 割り当てメモリ
- 19. メモリ割り当て
- 20. ハーモニー:割り当て
- 21. リスト割り当て
- 22. 割り当てメモリ
- 23. xmllistコピー割り当てまたは参照割り当て?
- 24. 静的割り当てと動的割り当てとの比較自動割り当て
- 25. 割り当てられたアドレスで構造をインスタンス化する(割り当て割り当て)
- 26. Java3Dのシミュレーション割り当て
- 27. Javaの割り当て
- 28. C++の割り当て
- 29. QTcpSocketオブジェクトの割り当て
- 30. スキームの割り当て
再利用可能なセルオブジェクトを返すときに行う代理人を割り当ててもよろしいですか?私は、あなたのセル設定コードの残りの部分と一緒に置こうとします。また、コードのスクリーンショットは簡単ですが、コードをカットアンドペーストして素早くプロジェクトをテストし、行動を検証する人々にとっては簡単ではありません。 – petert