核心数据,无反比关系

阿纳尼尼

我正在努力消除以下形式的代码库中的一堆警告:

Entity.relationship should have an inverse.

总的来说,尽管我们的代码无法通过这些逆运算来实现,但听起来还是个好主意。

我的问题是我该怎么做。

  1. 我是否应该通过轻量级迁移进行这些更改?也就是说,我应该创建另一个xcdatamodel吗?

  2. 对于给定的数据模型,如果我们已经有多个版本/迁移该怎么办。例如,假设我们有ReportsDataModel。下方是ReportsDataModel1,ReportsDataModel2和ReportsDataModel3。似乎XCode 7给我每个数据模型相同的警告。因此,如果我将它们固定在向ReportsDataModel4的轻量级迁移中,似乎不会摆脱之前的警告。

解决此问题的推荐方法是什么?

-阿琼

布拉德科技

首先,应该正确实现逆关系,因为Xcode要求它们。这是一个很好的数据库实践,如果不使用多余的关系,则实际上可以忽略它们。

是的,您应该能够执行轻量级迁移,即创建一个新的数据模型并让Xcode推断更改。苹果在这里指出,轻量级迁移支持添加关系。

关于第二个问题,是的,创建另一个数据模型实际上不会解决旧版本中的警告。您必须将旧模型保留在Xcode中,以便它可以计算轻量级迁移过程。如果删除模型,并且用户从使用该模型的旧版本进行更新,则其数据将被破坏。(但是,如果尚未发布具有特定数据模型的应用程序版本,则可以删除该数据模型。)

但是,您可以尝试完全抑制反向关系警告

  1. 在Xcode中,单击您的项目文件。
  2. 单击Build Settings选项卡。
  3. 搜索MOMC
  4. 设置Suppress momc warnings on missing inverse relationships为是。

编辑有关仅删除旧模型上的警告的问题这个问题表明您可以将旧数据模型移出Xcode并将其放置在其他位置,并向“构建阶段”添加“复制文件”操作以在编译时将文件复制回。这样,文件及其无关紧要的警告可能会挡在您的后面。抱歉,没有那么“ hacky”的解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章