xcode8 coredata 创建 NSManagedObject Subclass 后,生成四个文件,如下图:
运行出错:
duplicate symbol OBJC_CLASS$_Student in:
/Users/bentudou/Library/Developer/Xcode/DerivedData/WorkSths-euluwhdcebmmukgypgabangnsbkb/Build/Intermediates/CoreDataTest.build/Debug-iphonesimulator/CoreDataTest.build/Objects-normal/x86_64/Student+CoreDataClass.o
duplicate symbol OBJC_METACLASS$_Student in:
/Users/bentudou/Library/Developer/Xcode/DerivedData/WorkSths-euluwhdcebmmukgypgabangnsbkb/Build/Intermediates/CoreDataTest.build/Debug-iphonesimulator/CoreDataTest.build/Objects-normal/x86_64/Student+CoreDataClass.o
ld: 2 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决办法:
1.先把创建的报错的四个文件删了
2.如图:
3.把Student+CoreDataClass.h和Student+CoreDataClass.m 文件更名为Student.h和Student.m,不要忘记把Student+CoreDataProperties.h 和Student+CoreDataProperties.m 中对Student+CoreDataClass.h的引用改成Student.h
然后运行,就好了。