我将核心数据中的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项目?
答案 0 :(得分:0)
NSManagedObjectID在调用-save后更改:插入后第一次。 有关CoreData的更多信息,请参阅 - [NSManagedObject objectID]方法here。