创建更新到Xcode 6.0后未生成属性的NSManagedObject子类

创建更新到Xcode 6.0后未生成属性的NSManagedObject子类,xcode,Xcode,更新到Xcode版本6.0(6A313)后,当我向xcdatamodeld条目添加新属性时,“创建NSManagedObject子类”不会将新属性添加到生成的头文件中。在关闭Xcode 6,然后运行版本5.1.1(5B1008)后,该功能可以正常工作。我重复了几次这个过程,结果都是一样的。我是否需要做一些事情来允许新的Xcode版本正确管理我的数据模型,或者重新创建它们,或者这可能只是新Xcode的一个bug 以下是我采取的具体步骤: 1.在Xcode 6.0(GM种子)中打开DataModel

更新到Xcode版本6.0(6A313)后,当我向xcdatamodeld条目添加新属性时,“创建NSManagedObject子类”不会将新属性添加到生成的头文件中。在关闭Xcode 6,然后运行版本5.1.1(5B1008)后,该功能可以正常工作。我重复了几次这个过程,结果都是一样的。我是否需要做一些事情来允许新的Xcode版本正确管理我的数据模型,或者重新创建它们,或者这可能只是新Xcode的一个bug

以下是我采取的具体步骤:
1.在Xcode 6.0(GM种子)中打开DataModel.xcdatamodeld。
2.选择正确的实体
3.单击+添加新属性
4.为新属性输入名称和选定的布尔类型
5.编辑器->创建NSManagedObject子类
6.确保选中了正确的数据模型,单击下一步
7.确保选中了正确的实体,请单击下一步
8.选择要保存的位置(使用根项目文件夹),选择创建
9在对话框中选择“替换”
10在生成的头文件中查找变量。变量不存在。
11关闭Xcode6
12重复Xcode 5.1.1中的步骤1-10,工作正常
13重复此过程两次以验证相同的结果


谢谢你的帮助

好的,我找到了一个解决办法,但这似乎是一个bug

对于所有要重新生成的实体,请从磁盘中删除现有文件,然后重试编辑器->创建NSManagedObject子类,然后选择已从磁盘中删除的类


将重新生成当前不存在的文件。这为我解决了这个问题。

我也遇到了同样的问题,在我选择“替换”文件后,Xcode没有生成新属性。
只需通过以下步骤进行修复:

  • 在.xcdatamodel中更改或添加新实体后,在“组和文件”列表中选择更改的实体类文件
  • 选择“删除”-“移动到垃圾桶”(如果需要,从类文件复制特定代码)
  • 现在回到.xcdatamodel并选择您更改的实体
  • 创建新的NSManagedObject子类(使用标准方式)

这需要一个变通方法,但具体来说,我找到的最快方法是:

  • 设置项目,使从模型生成的文件位于它们自己的文件夹中

  • 当需要向模型添加/更改属性时,多选自动生成的文件集,然后单击backspace(并选择将其移动到垃圾箱)

  • 从模型中重新生成NSManagedObject文件集,并返回到同一文件夹中


  • 按照建议删除文件和/或数据模型本身之前,请检查是否已在“实体/类”下的Xcode数据模型检查器中添加了模块名称。如果有,删除它将解决自动生成实体类的问题。但是,它会重新引入您首先添加的问题(请参阅)。。。考虑到这一点,在生成的类上方添加
    @objc()
    似乎比在inspector中添加模块名更好。

    旧问题。但我的解决方案是:清理它,然后重新构建

    菜单:项目>清理生成文件夹 然后重新建造


    顺便说一句,这是Xcode 9的时间。

    我也有这个问题。它创建了新实体,但新实体链接到了另一个实体,而该实体没有被更新。我有相同的错误。在Xcode和终端中,这些文件的Git状态也没有改变。你提交雷达了吗?Apple bug#19450496已提交。这对我不起作用。我的模型中有一些实体,并对模式进行了很多更改。我刚刚删除了所有与ManagedObject相关的swift文件,并使用菜单编辑器->创建NSManagedObject子类等。。。然而,我尝试了很多次,只得到了一个与项目名称同名的文件,以及我最后选择的实体的属性。我根本没有存储任何数据,使用文件->删除->移动到垃圾箱来清除现有文件。必须删除模型并重新开始才能绕过它。还尝试了清理、重新启动等。唯一对我有效的方法是删除文件,然后使用file->new file->coreData->NSManagedObject子类并按照提示操作。一定是个虫子吧?。。。删除文件后我没有清空垃圾箱,但这应该不会有什么区别。同样的问题是,当我尝试创建NSManagedObject子类时,我总是得到一个与项目名称同名的文件,重新启动Xcode无助于解决方案适用于Xcode 6.1.1!非常感谢你。