1

私はUIRefreshControlコードを実装しようとしています:

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIRefreshControl *refreshController = [[UIRefreshControl alloc] init];
    [refreshController addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
    [self setRefreshControl:refreshController];
}

- (void)refresh:(id)sender
{
    NSLog(@"Freshing");
    //populate new data into the table view
}

を使用してNSFetchResultsControllerいます。では、テーブル ビューに新しいデータを入力するにはどうすればよいでしょうか。

4

2 に答える 2

0

データを取得した後、テーブルをリロードする必要があります

[yourTableView reloadData];
于 2013-01-31T14:44:49.080 に答える
0

驚くほどシンプル。はNSFetchedResultsController、テーブル ビューのデータをフェッチする責任があるため、次のようになります。

[self.tableView reloadData]; 

それでも「古い」データを取得し、フェッチされた結果コントローラーの遅延インスタンス化を使用して Apple ボイラー プレート コードに従っている場合は、次の 1 行を上に追加します。

self.fetchedResultsController = nil;

これを単に nil に設定するのではなく、既存の FRC にフェッチ要求を再度実行させることもできます (これはより効率的です)。

[self.fetchedResultsController performFetch:nil]; 
于 2013-01-31T14:32:19.663 に答える