1

listenこのコード " " を から に変更する方法を理解するのを手伝っていただけないでしょうかsimperium。使用NSFetchedResultsControllerするとすべて自動的に行われますが、次のコードはどうすればよいでしょうか? ドキュメントを読もうとしましたが、よくわかりませんでした。

NSError *error;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
fetchRequest.entity = [NSEntityDescription entityForName:kPersonEntity inManagedObjectContext:self.managedObjectContext];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"title == queen"];
NSArray *array = [[self.managedObjectContext executeFetchRequest:fetchRequest error:&error] filteredArrayUsingPredicate:predicate];

if(array.count > 0) {
    _queen = (Person *)[array objectAtIndex:0];
}

ありがとう!

4

2 に答える 2

1

NSManagedObjectContextDidSaveNotification通知を聞いて、それに応じて行動することができます。Simperium が変更を処理して保存すると、NSManagedObjectContextDidSaveNotification通知が届きます。それを聞いてください:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(contextSaved:) name:NSManagedObjectContextDidSaveNotification object:ctx];

次に、contextSaved:メソッドで、関心のあるオブジェクトを除外します

    - (void)contextSaved:(NSNotification *)n
    {
        NSDictionary *userInfo = [n userInfo];
        NSSet *objects = <see NSManagedObjectContext Change Notification User Info Keys>
        <filter/process objects>
    }

また、忘れないでくださいremoveObserver

[[NSNotificationCenter defaultCenter] removeObserver:self];
于 2013-05-14T23:26:33.630 に答える