我有一個名爲Tour的NSManagedObject子類。我使用此代碼存儲對它的引用:如何檢索存儲的NSManagedObject子類的引用?
prefs = [NSUserDefaults standardUserDefaults];
NSURL *myURL = [[myTour objectID] URIRepresentation];
NSData *uriData = [NSKeyedArchiver archivedDataWithRootObject:myURL];
[prefs setObject:uriData forKey:@"tour"];
現在我想檢索它。我試着使用:
NSData *myData = [prefs objectForKey:@"tour"];
NSURL *myURL = [NSKeyedUnarchiver unarchiveObjectWithData:myData];
TourAppDelegate *appDelegate = (TourAppDelegate *)[[UIApplication sharedApplication] delegate];
NSManagedObjectID *myID = [appDelegate.persistentStoreCoordinator managedObjectIDForURIRepresentation:myURL];
if (myID)
{
Tour *tempObject = [appDelegate.managedObjectContext objectWithID:myID]; //WARNING
tour = tempObject;
}
if (tour) //instruction...
但它給我這個警告「不兼容的Objective-C類型的初始化‘結構NSManagedObject *’,預期‘結構之旅*’
另外,在執行的時候,它給我這個:終止應用程序由於未捕獲的異常「NSObjectInaccessibleException」,理由是:「CoreData不能滿足對故障」 0x5001eb0
我怎樣才能解決這個
可以跳過'NSData'步:'[userDefaults setURL:URL forKey:kActiveLibrary]' - - - 'NSURL * URL = [userDefaults URLForKey:kActiveLibrary];' - - - 我必須爲'[self.managedObjectContext objectWithID:oid]投票第二個' – bshirley 2011-07-12 19:45:19