首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >核心数据,无反向关系

核心数据,无反向关系
EN

Stack Overflow用户
提问于 2016-03-07 23:32:43
回答 1查看 2.4K关注 0票数 3

我正在努力消除表格代码库中的一堆警告:

代码语言:javascript
复制
Entity.relationship should have an inverse.

一般来说,虽然我们的代码并不能通过这些逆词到达,但是无论如何,把它们放在里面听起来是个好主意。

我的问题是我会怎么做。

  1. 我应该通过轻量级迁移来进行这些更改吗?也就是说,我应该创建另一个xcdatamodel吗?
  2. 对于给定的数据模型,如果我们已经有了多个版本/迁移,怎么办?例如,假设我们有ReportsDataModel。下面是ReportsDataModel1,ReportsDataModel2和ReportsDataModel3。似乎XCode 7在每个数据模型上都给了我相同的警告。因此,如果我在轻量级迁移到ReportsDataModel4时修复了它们,它似乎无法消除以前的警告。

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

-Arjun

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-08 00:49:20

首先,您应该按照Xcode的要求实现逆关系,这是正确的。这是一种很好的数据库实践,如果不使用这些关系,您几乎可以忽略它们。

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

关于第二个问题,确实,创建另一个数据模型并不能真正解决旧数据模型中的警告问题。您必须将旧模型留在Xcode中,这样它才能计算轻量级迁移过程。如果您从使用该模型的旧版本中删除模型和用户更新,则它们的数据将被损坏。(但是,如果没有发布带有特定数据模型的应用程序版本,则可以删除该数据模型。)

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

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

编辑关于只处理旧模型上的警告:这个问题建议您可以将旧数据模型移出Xcode并将其放到其他地方,并添加一个compile操作来构建阶段,以便在编译时将文件复制回。这样,文件和它之外的警告就会被排除在外。抱歉,没有一个不那么“无趣”的解决办法。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35856237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档