这是因为在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:
PS:对于Xcode中对model file所做的修改有时往往不能被正确保存,我们需要做以下步骤来确保:
- 点击Xcode->File->save菜单
- 清空项目文件夹
- 重启Xcode查看修改是否真正被应用