2009-03-02 2 views
0

私は5つのテキストフィールド(グリッドのようなビット)を含むカスタムセルでUITableViewを構築しました。セルはインラインで編集できます(別のビューで表示する必要はありません)。いつUITableView reloadDataを使うべきですか?そして欠陥に関連しています;)

reloadDataの使用に関しては、私はいくつかの厄介な欠陥に直面しています。

  • my table footerは動的です(セルに基づいて値を計算します)。私はセルを更新するたびにreloadDataを呼び出す必要がありますか?または、フッターだけを更新する方法はありますか?

  • reloadDataを使用している場合、セルの編集を開始しますが、空のままにしておくと(テキストフィールドにテキストを書き込まないでください)、セルは編集モードに移行しません。空のセルでreloadDataを実行する際に、既知の不具合はありますか?

基本的には、reloadDataの使用に関するベストプラクティスについてはわかりませんし、どこにもガイドが見つかりませんでした。どんなアドバイスも非常に高く評価されます。

よろしく、 ジョナサン

答えて

0

あなたはtableviewsでリロードを最小限にし、あなたがテーブル他の方法を更新できない場合にのみ、それを使用する必要があります。
たとえば、行を削除するときにリロードする必要がない場合は、必要に応じてdeleteRowsAtIndexPathsまたはdeleteSectionsを使用してください。

他のビューでは、プロパティを更新することができます。たとえば、フッターにラベルがある場合は、textプロパティを設定するだけです。テーブルリロードは必要ありません。

cellForRowAtIndexPathメソッドの外にあるセルの一部のプロパティを直接編集することはできないと思います。このような場合、cellForRowAtIndexPathメソッドを呼び出すテーブルリロードが必要になります。

関連する問題