我正在开发一个使用CoreData
. 为了我的应用程序的目的,我想保存managedObjectId
一个对象(在 plist 文件中),以便在下一次应用程序启动时检索该对象。
经过一些研究,我尝试了:
myDictionary setObject:self.myPerson.objectID.URIRepresentation.absoluteString forKey:@"lastSelectedPerson"];
// Then I write the dictonary into a file
// I get a value like "x-coredata://8CF33004-BADD-402D-9AA5-115A030F901A/Person/p1"
myPerson 是一个已保存在managedObjectContext
.
接下来,我尝试检索 objectID,但使用此代码得到一个 nil 值:
// After retrieving the dictonary from the plist file
NSString * lastSelectedPersonId = [myDictionary objectForKey:@"lastSelectedPerson"];
NSManagedObjectID * objectID = [self.managedObjectContext.persistentStoreCoordinator managedObjectIDForURIRepresentation:[NSURL URLWithString:lastSelectedPersonId]];
self.myPerson = (Person *)[self.managedObjectContext existingObjectWithID:objectID error:&error];
你有什么建议吗?谢谢。