美文网首页iOS开发那些事iOS学习iOS Developer
Xcode8.x使用CoreData模型出现类被非法重定义的解决

Xcode8.x使用CoreData模型出现类被非法重定义的解决

作者: 悟_空 | 来源:发表于2016-12-01 16:14 被阅读171次

转载自:大熊猫猪·侯佩原创或翻译作品。谢谢! hopy ;)

这个问题在Xcode7.x中貌似没碰到过。不过在Xcode8.x中,在使用可视界面创建CoreData模型后再使用Editor->Create NSManagedObject Subclass之后有时会发现生成的数据对象类被重复定义的编译错误!

这是因为在Xcode8.0中包含了一个自动生成NSManagedObject的机制,如果你打开该机制则会在project(Derived Data目录中)实际生成的DerivedSources文件夹中出现同名的源代码文件。

有几种解决办法:

首先在你自己手动创建数据类之前,如果觉得满意你可以直接使用Xcode为你自动创建的数据类,省得麻烦!

但本猫是控制狂,所以对于自动创建又看不到摸不着的东东还是抱有略微不爽的赶脚在里面。如果你跟我一样喜欢自己动手,那么你可以选择关闭Xcode的自动生成机制,有两种方式:

1.打开在model file的inspector,选择Tools Version为 Xcode 7.3

2.或者你可以根据不同的entity去分别选择启用还是关闭自动生成机制;选择model file中特定的entity,打开其Data Model Inspector窗口,将其中的Codegen选项设置为Manual/None:

相关文章

网友评论

  • 48d063e3b39b:点了几个地方。回答都是一样的,就是没有一个解决问题的。。无语了
    48d063e3b39b:@悟_空 搞定了……跟你这个有点区别,还是有作用的,谢了:stuck_out_tongue_winking_eye:
    悟_空:@我若为女丶骚给你看 。。。

本文标题:Xcode8.x使用CoreData模型出现类被非法重定义的解决

本文链接:https://www.haomeiwen.com/subject/ungxmttx.html