我收到此错误似乎警告我重复文件。我错过了什么,或者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对象,而无需手动创建子类。感谢。
答案 0 :(得分:9)
这里的问题是,从Xcode 8开始,使用Core Data和新Core Data数据模型的新项目被配置为默认使用自动代码生成。这意味着您不必再为您的Core Data实体显式生成代码,Xcode将为您处理这些问题。如果你在上留下自动代码生成,也会为你的实体手动生成Swift类,你会看到这样的错误。
您可以在实体检查器中禁用实体的自动代码生成,也可以从项目中删除手动生成的代码。两者中的任何一个都应该解决这个问题。
答案 1 :(得分:1)
尝试通过Xcode&gt;清除派生数据偏好&gt;地点&gt;小灰箭头&gt;将内容移动到垃圾箱。然后清理项目并重建。
答案 2 :(得分:1)
首先检查您项目中是否已导入此文件Card+CoreDataProperties
两次,同时检查您是否在整个项目中没有创建此类Card+CoreDataProperties
两次,还要删除派生数据并清理项目。