2011-08-10 10 views
0

表のセルは、左側のUIView、中央のラベル、右側のラベルで構成されます。行が追加されたときに表のセルからサブビューが削除される

私は追加行がうまく見える

insertRowsAtIndexPaths:withRowAnimation: 

に新しい行を追加します。しかし、それぞれが追加されると、既存のセルはUIViewを失いますが、両方のラベルが保持されます。

この原因は何ですか?ビューは全体的に正の保持カウントを保持し、セル識別子はすべて一意です。また、スクロールダウンしてからセルを再描画する必要があるため、UIViewが再び表示されます。行が追加されると、cellForRowAtIndexPathは新しい行でのみ呼び出されます。

答えて

0

私は本当にメモリをチェックします/ロジックを保持します。ちなみに、あなたの保持カウントが正しいことをどのように確認していますか?あなたがそれを期待どおりにしていないので、保持カウントには依存しないでください。私は以前何度も試してみましたが、信頼できず、しばしば誤解を招くことさえあります。

ARCは既に使用していますか?

UIiewを作成するために、(直接的または間接的に)同じ変数を再利用していますか?

テスト目的のために、実際にビューを保持しているかどうか確認してください(たとえばmutablearrayなどに追加するなど)。

また、コードを投稿すると、私たちが手助けするのがずっと簡単になります。

関連する問題