今天项目中需要用到数据库,于是我就默默的直接用了系统自带的coreData。
接下来,在创建完Model.xcdatamodeld模型后,Attributes也添加完成,点击Editor->Create NSManagedObject Subclass之后就出现重复定义的编译错误,如下图!
刚看到这个错误,以为是自己重复引入了第三方框架,找半天也没找到,查阅网上资料,说可能是引入“.h”的地方,弄成“.m”了,于是又去找引入头文件的地方,完全没问题,我真真是疯了,怀疑自己,于是又仔细的看了报错原因,Entity + CoreDataClass.o文件重复,所以可以肯定不是别的问题,就是模型这里出了问题!于是仔细看File Inspector没问题,又看Data Model Inspector,Codegen这里是Class Definition,代码生成是类定义,换句话说,代码就是类自动生成,原来系统默认自动给我们生成了NSManagedObject文件。
于是将Codegen的选项改成Manual/None,然后重新生成NSManagedObject,编译,依然报错,再去看一眼Codegen这个地方,明明改成Manual/None,但系统并没有保存,于是快捷键command + s 保存一下,command + shift + k 清空,然后退出Xcode,重新打开项目编译就没有问题了!