我使用Class Definition
作为Codegen
选项,为我的核心数据模型使用新的Xcode 8代码生成功能。
当我构建时,我为每个实体获得以下输出:
<unknown>:0: error: no such file or directory: ‘/path/to/DerivedSources/CoreDataGenerated/Model/.Entity+CoreDataClass.swift'
<unknown>:0: error: no such file or directory: ‘/path/to/DerivedSources/CoreDataGenerated/Model/.Entity+CoreDataProperties.swift’
...
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1
在检查文件时,我可以看到以下内容:
实体+ CoreDataClass.swift:
import Foundation
import CoreData
public class Entity: NSManagedObject {
}
实体+ CoreDataProperties.swift
import Foundation
import CoreData
import
extension Entity {
@nonobjc public class func fetchRequest() -> NSFetchRequest<Entity> {
return NSFetchRequest<Entity>(entityName: “Entity");
}
@NSManaged public var title: String?
}
在第二个中,显而易见的事情是不应该存在空的import语句,我猜测它正在导致崩溃。
我可能做错了吗?这是一个错误吗?
我已经尝试了所有通常的,干净的,干净的构建文件夹,重新启动Xcode / Mac而没有运气。
答案 0 :(得分:2)
数据模型检查器中实体的Module
字段中有一个值,我删除了它,所以它现在为空,占位符显示为“全局命名空间”。这似乎有效!
答案 1 :(得分:0)
Core Data很大程度上基于字符串。为您的实体使用诸如“ Entity”之类的名称可能会导致意外结果。还要避免在数据模型中使用名称,例如“描述”,“项目”或“属性”等。如果确实要使用这些名称,请给它们加上前缀:可以使用“ My_entity”或“ ACEntity”之类的名称。>