【问题标题】:issue with "NSManagedObject" in .Xcdatamodeld file and Core Data in XCode.Xcdatamodeld 文件中的“NSManagedObject”和 XCode 中的核心数据问题
【发布时间】:2017-12-25 20:54:25
【问题描述】:

当我从顶部的编辑器创建一个新的 NSManagedObject 时,而不是只制作一个 .h 和 .m 文件,它制作了 4 个 itme 2 .h 和 2 .m 具有完全不同数量的代码我可以删除哪个?以及如何以只有 1 .h 和 1 .m 文件的旧方式制作它们?

还有另一个问题,当我在上课时有 2 个实体时,在它要求我“选择您要管理的实体”的部分,我是否应该同时检查我的 2 个实体?还是为它们中的每一个制作不同的 NSManagedObject 更好?

【问题讨论】:

  • 你能把你的项目上传到 Github 上让我们看看那里发生了什么吗?
  • 里面什么都没有,它是一个选中了核心数据复选框的新项目,我在该实体面板中添加实体和属性之后,我为每个实体创建一个 NSManagedObject,之后当我竞争时我得到项目中没有任何东西的错误
  • 我刚刚尝试了一个空项目,它工作正常。您应该保留每个实体的所有 4 个生成文件,不要删除其中任何一个。您是否尝试删除 Derived Data 文件夹并重新启动 Xcode?​​span>
  • 是的,我做到了,在 Xcode 8 中没有适用于 ios 的空项目,最简单的一个是单视图应用程序!是的,我确实尝试删除 Derived Data 文件夹还没有工作,你使用 XCode 8 吗?我怎么没有空项目?

标签: objective-c xcode core-data


【解决方案1】:

如果你想使用 Xcode 的代码生成工具,你不应该删除 4 个文件中的任何一个,因为一个使用另一个。

但是,您不必使用此工具,您可以毫无问题地编写自己的实现。请记住将属性标记为@dynamic,以便编译器知道它们将在运行时实现。

This article很好地解释了以上所有内容。

【讨论】:

  • 通过 XCode 的代码生成工具,您的意思是在数据模型的编辑器菜单中创建“NSManagedObject”?如果我想自己制作,我应该像 Xcode 一样制作 4 个文件?还是 1 .h 1.m 就足够了?还有那些新文件是干什么用的?我正在观看 Lynda Core Data 课程,自 2012 年以来,它在某些方面完全不同,这就是我感到困惑的原因!
  • 没错,我的意思是 Xcode 在顶部“编辑器”菜单中的选项
  • 我希望你能看到这一点,每次我尝试在创建 4 个文件的实体窗口中创建该对象时,我都会收到错误 Topic,这种方法适用于 2012 年的 Lynda,它真的老昨天我看了 udemy 课程,这是新的,对于 ios 9 及更高版本,他不会做这样的事情,他会在 ViewControllers 类中做所有的事情,仅此而已,我认为这种方式完全错误或已弃用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-09
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多