无法创建托管对象的子类

时间:2016-11-17 09:48:26

标签: ios objective-c xcode core-data xcode8

来自 documentation (What's New In Core Data)

  

Xcode自动子类生成   Xcode现在支持在建模工具中自动生成NSManagedObject子类。在实体检查员中:   手动/无是默认和以前的行为;在这种情况下,您应该实现自己的子类或使用NSManagedObject。   类别/扩展在名为ClassName + CoreDataGeneratedProperties的文件中生成类扩展。您需要声明/实现主类(如果在Obj-C中,通过标头扩展可以导入名为ClassName.h)。 -   “类定义”生成名为ClassName + CoreDataClass的子类文件以及为“类别/扩展”生成的文件。   生成的文件放在DerivedData中,并在保存模型后在第一个版本上重建。它们也被Xcode索引,因此命令单击引用并按文件名快速打开。

Codegen can be seen here无论我选择什么都不会生成。

我可能做错了什么或不完整,不是吗?

1 个答案:

答案 0 :(得分:3)

如果将“Codegen”设置为“类定义”,就像在您的示例中一样,Xcode会生成NSManagedObject子类,但您实际上并未在项目中看到它。如您在发布的报价中所述,文件是在

中生成的

~/Library/Developer/Xcode/DerivedData/...

您在项目中看不到它们,只看到Derived Data中的文件,您不应该关心这些文件。 Xcode确实包含引用,因此命令+单击代码会跳转到预期的实现,并且您可以编写扩展等。

this answer中查找详细信息。