保存并立即从提供null对象的核心数据中检索NSManagedObjce

时间:2013-04-26 07:34:24

标签: ios objective-c core-data

我将核心数据中的NSManagedObject保存为:

[self.managedObjectContext performBlockAndWait:^{
    [Book bookWithInfo:book inManagedObjectContext:self.managedObjectContext];

    NSError *error;
    [self.managedObjectContext save:&error];
    if (error != nil) {
        NSLog(@"Error in saving");
    }
}

并在此之后立即检索

[self.managedObjectContext performBlockAndWait:^ {
    Book *item = [Book bookByBookId:[NSNumber numberWithInt:currentBookId] inContext:self.managedObjectContext];
}

bookId(currentBookId)保存在bookWithInfo方法中。 为什么我在尝试立即检索时获得nil项目?

1 个答案:

答案 0 :(得分:0)

NSManagedObjectID在调用-save后更改:插入后第一次。 有关CoreData的更多信息,请参阅 - [NSManagedObject objectID]方法here