1

リモート Web サービスからデータを取得し、UITableView にデータを入力するアプリに取り組んでいます。新しいデータを取得したら、ほとんどの Twitter クライアントと同じように、現在表示されているセルをそのままにして、その上に新しいデータを追加したいと考えています。私のロード方法は現在次のようになっています:

- (void)loadPostsInBackground
{
    NSURL *url = [NSURL URLWithString:@"[URL]"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    AFJSONRequestOperation *operation;
    operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id jsonObject) {

        [self createPostsFromDict:jsonObject];
        [self.refreshControl endRefreshing];
        [self.tableView reloadData];

    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id jsonObject) {

        NSLog(@"Received an HTTP %d", response.statusCode);
        NSLog(@"The error was: %@", error);

    }];

    [operation start];

}

これは機能しますが、現在表示されているセルを新しいデータで更新します。だから私が欲しいのは、新しいデータを取得し、それを現在表示されているセルの上に追加する (または現在表示されているセルにとどまる) ことです。これを行う最善の方法は何ですか?

注: iOS6 が必要です。

4

1 に答える 1

2

テーブル ビューでreloadDataを呼び出す代わりに。insertRowsAtIndexPaths:withRowAnimation:を呼び出す必要があります。これは、テーブル ビューのデータ ソースで使用されるデータを更新した後に行います。

于 2012-10-14T18:01:30.120 に答える