Xcode8.x使用CoreData模型出现类被非法重定义的解决办法
2016-11-10 16:32
218 查看
这个问题在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:
PS:对于Xcode中对model file所做的修改有时往往不能被正确保存,我们需要做以下步骤来确保:
点击Xcode->File->save菜单
清空项目文件夹
重启Xcode查看修改是否真正被应用
这是因为在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查看修改是否真正被应用
相关文章推荐
- Xcode8.x使用CoreData模型出现类被非法重定义的解决办法
- Xcode8.x使用CoreData模型出现类被非法重定义的解决办法
- Xcode8.x使用CoreData模型出现类被非法重定义的解决办法
- Xcode8.x使用CoreData模型出现类被非法重定义的解决办法
- fastjson在使用hibernate关系模型转json出现$ref解决办法
- VC++6.0使用GDI++出现'ULONG_PTR'未定义和'token' 未定义的解决办法
- AjaxPro.2.dll使用中出现页面未定义错误的解决办法
- 【QTP】使用自定义Class类出现“类没有被定义”的解决办法小结
- fastjson在使用hibernate关系模型转json出现$ref解决办法
- C++中使用类模板定义对象时出现:“error LNK2019: 无法解析的外部符号”的解决办法
- Google Map API使用中出现的“google未定义”解决办法
- 使用Asp.net Ajax时出现'Sys'未定义错误的解决办法
- QQ同步登入出现 回调地址非法,请使用已注册的回调地址(21006)!错误解决办法
- asp中 打开网页时出现“操作必须使用一个可更新的查询”原因及解决办法
- 使用IIS作为宿主的WCF服务出现HTTP Error 404.3 - Not Found错误的解决办法
- 使用ASPJPEG出现0177 800401F3 错误的解决办法
- 使用Page.ClientScript.RegisterClientScriptBlock出现缺失")"解决办法
- 使用iBus出现降级提示的分析与解决办法
- 使用Bitmap.FromStream(GetType().Assembly.GetManifestResourceStream())出现System.ArgumentException的解决办法
- 关于loose.dtd和xhtml1-transitional.dtd等文档类型定义模型中CSS失效的解决办法。