NSFetchRequest as entityName 给出错误 "use of undeclared type"
NSFetchRequest as entityName gives error "use of undeclared type"
我在 Swift 2.1 和 Xcode 7.2 中使用核心数据
此代码给我一个无法找到实体 name.This 的错误,因为 [Company] 没有 work.I 具有此名称的实体。
let fetchRequest = NSFetchRequest(entityName: "Company")
do {
var result = try self.moc.executeFetchRequest(fetchRequest) as! [Company]
if (result.count > 0){
companyName?.stringValue = result[0].valueForKeyPath("name") as! String
// success ...
}
else{
}
} catch let error as NSError {
// failure
print("Fetch failed: \(error.localizedDescription)")
}
您说您的模型中有一个名为 "Company" 的实体。好的,但是您是否有一个实际的 NSManagedObject
class,名为 Company
(即,class Company: NSManagedObject { ... }
),是您在 Xcode 中的托管对象模型编辑器中创建的?这不是自动的。如果没有在某处声明实际的 class,它将是一个 "undefined type",因为实体名称只是一个字符串,否则可以在您的模型中查找内容。
您的代码的其余部分通过 valueForKeyPath()
访问属性这一事实强烈表明在任何地方都没有实际的 class Company: NSManagedObject
。
添加到文件头:
import CoreData
我在 Swift 2.1 和 Xcode 7.2 中使用核心数据 此代码给我一个无法找到实体 name.This 的错误,因为 [Company] 没有 work.I 具有此名称的实体。
let fetchRequest = NSFetchRequest(entityName: "Company")
do {
var result = try self.moc.executeFetchRequest(fetchRequest) as! [Company]
if (result.count > 0){
companyName?.stringValue = result[0].valueForKeyPath("name") as! String
// success ...
}
else{
}
} catch let error as NSError {
// failure
print("Fetch failed: \(error.localizedDescription)")
}
您说您的模型中有一个名为 "Company" 的实体。好的,但是您是否有一个实际的 NSManagedObject
class,名为 Company
(即,class Company: NSManagedObject { ... }
),是您在 Xcode 中的托管对象模型编辑器中创建的?这不是自动的。如果没有在某处声明实际的 class,它将是一个 "undefined type",因为实体名称只是一个字符串,否则可以在您的模型中查找内容。
您的代码的其余部分通过 valueForKeyPath()
访问属性这一事实强烈表明在任何地方都没有实际的 class Company: NSManagedObject
。
添加到文件头:
import CoreData