1
我想創建一個子對象,並通過將父對象分配給子對象中的關係將其連接到它的父對象。我使用此代碼:分配給核心數據對象中的關係似乎破壞對象
Serial *object = [NSEntityDescription insertNewObjectForEntityForName:@"Serial" inManagedObjectContext:AppDelegatePtr.managedObjectContext];
NSLog(@"context is %@", object.managedObjectContext);
[object setValue:self.textNarrative.text forKey:@"narrative"];
NSLog(@"%@",[[SMNetworkModel sharedInstance ] selectedExerciseID]);
[object setInExercise:(Exercise *)[[SMNetworkModel sharedInstance ] selectedExerciseID]];
NSError *error;
if (![AppDelegatePtr.managedObjectContext save:&error])
{
NSLog(@"Failed to save - error: %@", [error localizedDescription]);
}
但是,它提供了以下的調試/錯誤:
2014-11-02 23:36:49.622 RVP[4464:139260] context is <NSManagedObjectContext: 0x7faf19fa1140>
2014-11-02 23:36:49.623 RVP[4464:139260] 0xd000000000040000 <x-coredata://D08DF3CD-A5E0-4445-B7C4-A84448110BDA/Exercise/p1>
2014-11-02 23:36:49.623 RVP[4464:139260] -[_NSCoreDataTaggedObjectID managedObjectContext]: unrecognized selector sent to instance 0xd000000000040000
在上面的代碼線5中產生的錯誤。看起來,父對象id(如在調試中)以某種方式覆蓋託管實體對象中的託管對象上下文屬性。這種關係在這個實體中是一對一的關係,而一對多關係是相反的。如果我將其更改爲1:1,它也不會影響錯誤。如果我註釋掉第5行,對象會被保存,但是會作爲孤兒。
我在做什麼錯?
謝謝! 35年的SQL給了我一定的範式僵化!事實上,我只需要在這裏更換一行代碼,另一個代碼存儲對象而不是對象ID,這一切都會突然變爲現實。再次感謝。 – Nick 2014-11-03 11:01:20