使用编辑器更改模型文件后生成核心数据模型 - >创建NSManagedObj ...
我将实体关系更改为其他实体(如果这很重要)
我清理了我的项目和构建文件夹。
但生成的文件似乎不正确,它们包含的文件包括' Entity.h' 哪个不存在......因为我看到的唯一类文件是' Entity + CoreDataClass.h'
所以我手动将名称更改为以上所有错误,然后我收到链接器错误:
duplicate symbol _OBJC_CLASS_$_Userinfo in:
/Users/Me/Library/Developer/Xcode/DerivedData/test-fxdxcviituhcmoegqygwirddhuir/Build/Intermediates/test.build/Debug-iphonesimulator/test.build/Objects-normal/x86_64/Userinfo+CoreDataClass.o
duplicate symbol _OBJC_METACLASS_$_Userinfo in:
/Users/Me/Library/Developer/Xcode/DerivedData/test-fxdxcviituhcmoegqygwirddhuir/Build/Intermediates/test/Debug-iphonesimulator/test/Objects-normal/x86_64/Userinfo+CoreDataClass.o
ld: 2 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
最初我使用较旧版本的Xcode创建了该项目,其中实体文件如' Entity.h"生成了......更新后这是Xcode的某种错误吗?
我的实体正在使用'手册/无' codegen选项。但是我注意到在构建之后,具有上述链接器错误的实体会自动更改为“类定义”'?
编辑: 好的,所以将codegen设置为所有实体的类定义会停止错误的文件导入错误。 (但之后仍然会恢复到' manual / none'之后。除了我新创建的实体。 如果+ CoreDataClass.m文件的derriveddata中存在错误,则导入名称中不包含+ CoreDataClass。 我的项目中的My + CoreDataClass.m文件不包含此错误,并且对于+ CoreDataClass是正确的。
我的项目生成文件:
#import "Userinfo+CoreDataClass.h"
#import "User+CoreDataClass.h"
@implementation Userinfo
@end
错误存在的地方:(在衍生来源中)
#import "Userinfo+CoreDataClass.h"
#import "User.h"
@implementation Userinfo
@end