0

Web サービスから来る人のリストを含む UITableView があり、下部に [詳細] ボタンがある iOS アプリケーションを開発しています。ユーザーがさらにクリックすると、リストに新しい人を提供するサービスが呼び出されます。ここで、tableView 全体をリロードせずに、このリストを前の tableView リストに追加したいと考えています。どうすればこれを達成できますか。

ここに画像の説明を入力 どんな助けでも本当にかなりの価値があります。サービスからデータを取得するためにサービスを呼び出すボタンのコードを提供できます。

4

4 に答える 4

3

UITableview は、コンテンツを操作するためのいくつかの API を提供します。を使用する必要があります

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation: (UITableViewRowAnimation)animation;

方法。それらを適用する方法については、Table View Programming Guideで説明されています。

実際には、ボタンがクリックされると、名前のリストのネットワーク リクエストを開始し、それが終了したら、上記の API を使用してテーブルに行を追加します。

注: テーブル ビューに対してこの変更のみを行う限りbeginUpdatesendUpdatesメソッドを使用する必要はありません。一度に複数の変更 (削除、追加、並べ替え) が行われる場合は、beginUpdates/endUpdatesが必要です。

于 2013-09-19T11:57:54.470 に答える
0

テーブルをリロードしたくない場合は、少なくとも呼び出す必要があります

insertRowsAtIndexPaths: withRowAnimation:

ただし、テーブル ビューに新しく追加されたデータを表示することはできません。

于 2013-09-19T12:04:44.437 に答える
0

UITableView の - beginUpdates;を見てください。および- endUpdatesメソッド。

これらを呼び出す間に、テーブル ビューに行を挿入する必要があります。UITableView の -insertRowsAtIndexPaths:withRowAnimation:メソッドを使用している場合は、 begin-and をスキップすることもできますendUpdates

を呼び出す前に、必ず新しいオブジェクトをデータ ソース オブジェクトに挿入してくださいinsertRowsAtIndexPaths:withRowAnimation:

于 2013-09-19T11:57:08.957 に答える
-1

私の経験によると、It is not possibleテーブルビューをリロードせずに新しい名前を追加/表示するには。

ただし、次のようにタスクを達成できます。

設定できますarraCount(one varaible) for namesArray count。webservice を呼び出した後increment arrayCount varaiable and reload the table view、テーブルに新しく追加された名前を表示できます。

これが役立つことを願っています。

于 2013-09-19T12:11:52.897 に答える