2011-11-23 18 views
0

サーバーからデータの一部を読み込み、UITableViewに表示します。ユーザーがtableViewをtableView(最後のセル)の一番下までスクロールすると、データの次の部分が読み込まれ、tableViewの新しいセルに表示されます(新しいセルを追加します)。Lazy UITableView load

私の目標は、データがサーバからロードされている最中に、下部のセル動作インジケータに表示することです。どのような標準的な美しくエレガントな実装方法はありますか?私は多くを検索しましたが、答えは見つかりませんでした。

お返事ありがとうございます!

答えて

2

BOOL isLoadingDataは、データがロードされているときを追跡するデータモデルに保持されます。私のtableViewControllerはKVO経由でこのプロパティを観察し、tableViewを更新します。私は以下の方法を使って活動指標を示しました。 tableView:viewForFooterInSection:

  1. 、データがロードされていることを示すUIActivityIndicatorViewUILabelを含むビューを返しisLoadingData = YES場合。それ以外の場合はnilを返します。 numberOfSectionsInTableView:

  2. isLoadingData = YES場合は、回数に追加セクションを追加し、tableView:numberOfRowsInSection:に、このセクションの1を返します。 tableView:cellForRowAtIndexPathには、UIActivityIndicatorViewUILabelを含む「読み込み中の」セルが返されます。

+0

私はそれはたくさんのクリーナーであるので、方法1を使用します – jrtc27

+1

お返事ありがとうございました!本当に私を助けました! 1つのコメント - コントローラーではなくデータモデルに "isLoadingData"を格納するのが大好きですか? – JastinBall