0

我将核心数据中的 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 方法中。为什么我在尝试立即检索时得到零项目?

4

1 回答 1

0

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

于 2013-04-26T08:38:04.480 回答