0

保存した直後にオブジェクトの NSManagedObjectID を取得するにはどうすればよいですか?

を使用しNSNotification NSManagedObjectContextDidSaveNotificationて、更新/挿入された値を取得し、1 つの (唯一の) 管理オブジェクトからオブジェクト ID を取得しようとしましたが、オブジェクト ID を取得しようとすると、「認識されないセレクター」が表示されます。

保存した直後にオブジェクト ID を取得することはできますか?

- (void)handleDidSaveNotification:(NSNotification *)note
{

    NSDictionary *dict = [note userInfo];
    NSDictionary *updatedDict = [dict valueForKey:@"updated"];

    NSLog(@"Notification: %@", dict);
    NSLog(@"Updated Info: %@", updatedDict);

    NSManagedObject *core = [updatedDict valueForKey:@"entity"];

    NSManagedObjectID *objectId = [core objectID];
}
4

1 に答える 1

2

updatedDict返されたデータが のときに、辞書 ( ) を設定しようとしていNSSetます。
それが含まれているセットコレクションから取得する必要があるかもしれません...

NSSet* s = [dict valueForKey:@"updated"];
[s valueForKey:@"objectID"]

これは s のセットを返しNSManagedObjectIDます。オブジェクトへのアクセス方法を
参照してください。NSSet

于 2014-03-16T22:50:28.243 に答える