保存上下文后,快速设置核心数据中的关系

时间:2015-09-12 17:48:21

标签: swift core-data

使用核心数据模型,我仍然是新的。现在我有一个视图控制器,它可以保存两个实体之间的关系,并且它一直保持正常,直到我必须在主要核心数据实体中添加另一个关系。当我这样做时,初始2个关系之间的关系中断,并且tableview不再能够呈现关系并因此崩溃。我知道为了设置我需要将其插入已经存在的上下文中的关系,但是如何在不清除之前设置的关系的情况下实际执行该操作?

假设我有一个名为primary的实体和一个名为secondary的实体。这两者之间的关系很好。当我尝试为第三个实体设置关系时,二级和主要之间的关系会清除。真正的问题是我实际上传递了我想要存储关系的对象,所以当我做类似这样的代码时:

passedObject?.relationhips = entity.relation

它实际上并没有设置关系。我错过了什么吗?我是否必须在设置关系之外的主要实体上下文中插入内容?

2 个答案:

答案 0 :(得分:0)

真正常见的核心数据崩溃是当您更新模型但模拟器上的应用程序包含使用旧模型和崩溃的数据时。所以在更新你的模态之后,在再次运行之前,从模拟器中删除你的应用是一个好习惯(尽管我认为Apple在iOS9中进行了更改,你的应用会自动迁移数据,但我还没有检查过)

如果这不是问题,那么查看模型的屏幕抓取以查看实体之间的关系是如何设置的,将会有很大帮助。

由于您对核心数据不熟悉,因此请检查关系类型是否与“核心数据”相关。 (默认)或许多' (如果你想在一组实体之间建立连接而不只是一个实体,则使用。)

答案 1 :(得分:0)

在Core Data自动创建核心数据子类之后,请务必检查核心数据子类。有时设置不正确,就像我的问题一样。