• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 核心数据,无反比关系

[复制链接]
菜鸟教程小白 发表于 2022-12-12 10:47:53 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在努力消除代码库中的大量警告,形式如下:

Entity.relationship should have an inverse.

一般来说,虽然我们的代码没有通过这些逆函数到达,但无论如何把它们放进去听起来是个好主意。

我的问题是我将如何做到这一点。

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

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

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

-阿琼



Best Answer-推荐答案


首先,您应该实现反向关系是正确的,因为 Xcode 需要它们。这是一个很好的数据库实践,如果您不使用多余的关系,您几乎可以忽略它们。

是的,您应该能够执行轻量级迁移,即创建新的数据模型并让 Xcode 推断更改。 Here, Apple states轻量级迁移支持添加关系。

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

不过,你可以试试suppressing the inverse relationship warning entirely .

  1. 在 Xcode 中,单击您的项目文件。
  2. 点击build设置标签。
  3. 搜索 MOMC
  4. Suppress momc warnings on missing inverse relationships 设置为 Yes。

编辑 关于只删除旧型号的警告:This question建议您可以将旧数据模型移出 Xcode 并将其放置在其他地方,并向构建阶段添加复制文件操作以在编译时将文件复制回。这样,文件及其无关的警告就不会妨碍您。抱歉,没有更“hacky”的解决方案。

关于ios - 核心数据,无反比关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35856237/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap