我想在覈心數據對象中存檔/取消存檔NSManagedObjectIDs,這樣下次我的應用程序啓動時,我可以檢索這些ID並使用它們來獲取特定的對象。在覈心數據中存儲NSURL的正確方法是什麼?
我嘗試「存檔」的ID是這樣的:
//defaultConfiguration is an NSManagedObject defined elsewhere and it works just fine...
// and newObject is also properly initialized, bound to a context,etc...
ArchivedID* newID = [NSEntityDescription insertNewObjectForEntityForName:@"ArchivedID" inManagedObjectContext:managedObjectContext];
[self.defaultConfiguration addArchiveIDObject:newID];
newID.idURI = [[newObject objectID] URIRepresentation];
[managedObjectContext save:&error];
然後解除存檔這樣的(我只是去[anyObject]因爲我是測試在這一點上,只有一個):
NSManagedObjectID* ID = [managedObjectContext.persistentStoreCoordinator managedObjectIDForURIRepresentation:[defaultConfiguration.archiveID anyObject]];
但是當我嘗試獲取URL後面像上面,我得到以下異常:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ArchivedID relativeString]: unrecognized selector sent to instance 0x7f59f20'
實體中的屬性通過Xcode設置爲「可轉換」,並且我將Xcode中的變換器值字段留空,因爲Core Data文檔似乎暗示它是否爲空使用默認轉換器。
我在做什麼錯?
這與nsurl有什麼關係? – Chet 2014-03-23 04:59:55