Имам следния модел на данни:
entityA<-->>entityB<<-->>entityC
entityD<-->>entityE
Обърнете внимание, че entityD и entityE нямат връзка с A-C.
Моят DetailViewController приема свойства от управлявани обекти и записва като нов управляван обект в managedObjectContext.
В момента показвам съществуващия управляван обект в UILabels така:
UILabel1.text = [self.selectedEntityB nameB];
UILabel2.text = [self.selectedEntityA nameA];
След това запазвам в контекста в действието за запазване тук:
- (IBAction)save:(id)sender {
EntityD *newEntityD = [NSEntityDescription insertNewObjectForEntityForName:@"EntityD"
inManagedObjectContext:self.managedObjectContext];
[newEntityD setValue:self.UILabel2.text forKey:@"nameD"];
EntityE *newEntityE = [NSEntityDescription insertNewObjectForEntityForName:@"EntityE"
inManagedObjectContext:self.managedObjectContext];
[newEntityE setValue:self.UILabel1.text forKey:@"nameE"];
NSError *anyError = nil;
BOOL savedSuccessfully = [self.managedObjectContext save:&anyError];
if (!savedSuccessfully) {
}
}
Това работи за настройка на nameD и nameE. Опитвам се да създам връзка между новосъздадените обекти за EntityD и EntityE. Да кажем, че връзката от entityE към entityD е toD. Опитах в действието за запазване:
[newEntityE setValue:self.UILabel2.text forKey:@"toD"];
Но получавам грешка с: „NSInvalidArgumentException“, причина: „-[__NSCFString managedObjectContext]: неразпознат селектор, изпратен до екземпляр 0x10939fd00“
Как да установя връзка между новосъздадените обекти?