1

私のコードでは、一部のセルはUITableViewでユーザーに表示されるべきではありません。
したがって、私のdataSourceはオブジェクトを提供しますがcellForRowAtIndexPaht、セルが非表示になっているかどうかをチェックインし、非表示になっている場合は、実際には何も返しません。セルの高さがゼロになるようにしますが、それ以上に、セル全体の構築機能を保存したいと思います。

nilを返そうとしましたが、残念ながらクラッシュします。

4

2 に答える 2

2

データソースは、実際にテーブルにあるものを返すことになっています。

表示したいデータを保持する新しい配列を簡単に作成し、表示したくないデータを省略できます(マスターデータソースに保持します)。次に、テーブルビューの一部の行を表示できるので、それらをテーブルデータの配列に追加し、UITableViewのinsertRowsメソッドを使用して、新しく公開されたデータの表示をアニメーション化します。

于 2013-02-21T20:25:30.310 に答える
1

UITableViewの作成に使用されるnumberOfSectionsまたはメソッドにロジックを上に移動できますか?numberOfRowsInSection基本的に、これらのセルに対してnullを返すために使用しているロジックはすべてnumberOfRowsInSection、UITableViewクラスのメソッドに移動し、表示されている(非表示ではない)セルの数のみを返すことができます。

次にcellForRowAtIndexPath、セルを配列から引き出すのではなく、表示されている行をカウントアップすることにより、データソースからセルを順番に渡すようにメソッドを構成する必要があります。

オブジェクトを期待しているプログラムに「何も」返したくないと思います。

UITableViewのAppleリファレンスドキュメントへのリンク。numberOfSectionsとnumberOfRowsInSectionsを使用すると、テーブルビューに表示されるデータの量を論理的に変更できます。

于 2013-02-21T20:39:00.373 に答える