ios - 如何插入与另一个相关的核心数据记录?

标签 ios objective-c core-data ios6

目前我的模型中有两个实体;模块和级别。他们有一对多的关系,例如一个关卡可以有很多模块。我怎样才能插入数据,使它们相互关联,这样我就可以说该模块具有特定的年份。我需要这个,这样当我删除模块时它也会删除一年。

模块<<---->级别

如果我只是单独添加对象,它工作正常,但我添加最后一行代码应用程序崩溃,它说实体模块不符合键 level_number 的键值编码,键 level_number 是模块端的关系名称。

NSManagedObject *newModule;
newModule = [NSEntityDescription
              insertNewObjectForEntityForName:@"Module"
              inManagedObjectContext:context];

[newModule setValue:textModuelTitle.text forKey:@"name"];
[newModule setValue:value forKey:@"credit"];

    NSManagedObject *newLevel;
    newLevel = [NSEntityDescription
                 insertNewObjectForEntityForName:@"Level"
                 inManagedObjectContext:context];
       [newLevel setValue:year forKey:@"value"];

    [[newModule mutableSetValueForKey:@"level_number"] addObject:newLevel];

最佳答案

当您有一对多关系时,从一侧设置值,Core Data 将负责另一侧。

因为级别与模块具有一对一的关系。将模块设置为一个级别,然后保存上下文。

关于ios - 如何插入与另一个相关的核心数据记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16630906/

相关文章:

ios - 无法在图像之间滚动

core-data - 如何为NSPersistentContainer设置自定义商店URL

objective-c - 如何在 Objective-C 中将 RGB 十六进制字符串转换为 UIColor?

objective-c - 是否可以恢复我删除的 xcdatamodel 文件?

objective-c - NSSet *children = [parentchildren]; 是否执行获取请求?

ios - 如何区分应用程序 didRecieveLocalNotification 中的两个 uilocalnotification 并在 ios 中触发相应的警报?

ios - 在 Swift 中丢失对实例属性的引用

ios - 是否有同时处理捏合和平移的手势识别器?

ios - Objective-C : How to remove a white background from a JPG image without losing edge quality

ios - 在 Facebook 3.5 iOS SDK 中使用 FBRequest 发布开放图操作时出错