我得到这个错误,似乎警告我重复的文件。是我遗漏了什么还是Xcode现在不需要创建nsmanaged子类来操作核心数据。我试着创建一个空白项目,同样的事情发生了。下面是错误数据
<unknown>:0: error: filename "Card+CoreDataClass.swift" used twice: '/Users/user/Documents/Developer/coredata/Card+CoreDataClass.swift' and '/Users/user/Library/Developer/Xcode/DerivedData/coredata-gicbdltjgiidbcfxaqqaxvkqwnnk/Build/Intermediates/coredata.build/Debug-iphonesimulator/coredata.build/DerivedSources/CoreDataGenerated/coredata/Card+CoreDataClass.swift'
<unknown>:0: note: filenames are used to distinguish private declarations with the same name
<unknown>:0: error: filename "Card+CoreDataProperties.swift" used twice: '/Users/user/Documents/Developer/coredata/Card+CoreDataProperties.swift' and '/Users/user/Library/Developer/Xcode/DerivedData/coredata-gicbdltjgiidbcfxaqqaxvkqwnnk/Build/Intermediates/coredata.build/Debug-iphonesimulator/coredata.build/DerivedSources/CoreDataGenerated/coredata/Card+CoreDataProperties.swift'
<unknown>:0: note: filenames are used to distinguish private declarations with the same name
Command /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1
这对我来说意味着文件已经被自动创建了。我甚至可以在不手动创建子类的情况下创建Card对象。谢谢。
这里的问题是,从Xcode 8开始,使用Core Data和新的Core Data数据模型的新项目默认配置为使用自动代码生成。这意味着你不再需要显式地为Core Data实体生成代码,Xcode会为你处理这些。如果你让自动生成代码,而也为你的实体手动生成Swift类,你会看到这样的错误:
您可以在实体检查器中禁用实体的自动代码生成,或者您可以从项目中删除手动生成的代码。
尝试通过Xcode> Preferences> Locations>灰色小箭头>将内容移到垃圾箱中清除派生数据。然后清理项目并重新构建。
首先检查你的项目,你没有导入这个文件Card+CoreDataProperties
两次,也检查你没有在整个项目中创建这个类Card+CoreDataProperties
两次,也删除派生数据和清理你的项目。