Tôi đang cố gắng lưu trữ/hủy lưu trữ NSManagedObjectID trong đối tượng Dữ liệu cốt lõi để lần sau khi ứng dụng của tôi khởi động, tôi có thể truy xuất các ID này và sử dụng chúng để tìm nạp các đối tượng cụ thể.cách chính xác để lưu trữ NSURL trong Dữ liệu chính là gì?
tôi đã cố gắng "lưu trữ" ID như thế này:
//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];
Và sau đó hủy lưu trữ như thế này (tôi chỉ cần đi cho [anyObject] nguyên nhân tôi đang thử nghiệm và chỉ có một là vào thời điểm này):
NSManagedObjectID* ID = [managedObjectContext.persistentStoreCoordinator managedObjectIDForURIRepresentation:[defaultConfiguration.archiveID anyObject]];
Nhưng khi tôi cố gắng lấy URL trở lại như trên, tôi nhận được ngoại lệ sau đây:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ArchivedID relativeString]: unrecognized selector sent to instance 0x7f59f20'
Thuộc tính trong thực thể được thiết lập thông qua Xcode thành "biến đổi" và tôi để trống trường giá trị biến áp trong Xcode vì tài liệu Core Data dường như ngụ ý nếu trống nó sử dụng biến mặc định.
Tôi đang làm gì sai?
điều này có liên quan gì với nsurl? – Chet