0

私は自分のアプリでコアデータを使用していますが、それが少し遅いことに気付き、不整合の問題のクラッシュがいくつかあります。おそらく管理が悪いのですが、パスしたいのですがSQLite、ライブラリを見つけましたFMDBが、私の質問はデータベースでバックグラウンドの変更を行ったときにテーブルビューを自動的に更新するにはどうすればよいですか? コアデータを使用してNSFetchedController、特にNSFetchedResultsControllerDelegateテーブルビューを自動更新する方法があります.SQLiteを使用してこれを実行するにはどうすればよいですか?

4

1 に答える 1

3

そのために使用できますNSNotificationCenter。ここにコードサンプルがあります..

TableViewController.m ファイルにこのコードを追加します

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    if (self) {
        // Custom initialization
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadTableView:) name:@"ReloadTableView" object:nil];
    }
    return self;
}

- (void)reloadTableView:(NSNotification*)notification
{
    [tableView relodData];
}

そして、バックグラウンド スレッドを呼び出す場所で、このコードを補完に入れます。

[[NSNotificationCenter defaultCenter] postNotificationName:@"ReloadTableView" object:nil];
于 2013-04-12T11:52:28.990 に答える