我有以下数据模型:
entityA<-->>entityB<<-->>entityC
entityD<-->>entityE
注意 entityD 和 entityE 与 AC 没有关系。
我的 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'
我将如何建立新创建的对象之间的关系?