Ios 核心数据-为什么提取请求返回零?
我有获取核心数据的代码Ios 核心数据-为什么提取请求返回零?,ios,swift,core-data,Ios,Swift,Core Data,我有获取核心数据的代码 var appDelegate : AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate var managedContext : NSManagedObjectContext = appDelegate.managedObjectContext! let request = NSFetchRequest(entityName: "QuestionDB")
var appDelegate : AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
var managedContext : NSManagedObjectContext = appDelegate.managedObjectContext!
let request = NSFetchRequest(entityName: "QuestionDB")
request.returnsObjectsAsFaults = false
if let results = managedContext.executeFetchRequest(request, error: nil)
它返回AnyObject的数组
我需要它返回类型为[Question]
当我投
var appDelegate : AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
var managedContext : NSManagedObjectContext = appDelegate.managedObjectContext!
let request = NSFetchRequest(entityName: "QuestionDB")
request.returnsObjectsAsFaults = false
if let results = managedContext.executeFetchRequest(request, error: nil) as? [Question] {
println("This is result of loadFromDb \(results)")
}
它返回零
如何修复它?试试以下方法:
let fetchRequest = NSFetchRequest(entityName:"QuestionDB")
var error: NSError?
let fetchedResults = managedObjectContext.executeFetchRequest(fetchRequest, error: &error) as! [NSManagedObject]?
if let results = fetchedResults {
return results as! [QuestionDB]
} else {
fatalError("Could not fetch \(error), \(error!.userInfo)")
}
如果您的类名是Question
,则必须在模型检查器中进行设置。检查数据模型中实体的数据模型检查器中的类名
选择应用程序的.xcdatamodeld
->选择实体
并在数据模型检查器中
检查数据模型中实体的数据模型检查器中的类名。我得到了相同的错误。您找到此问题的解决方案了吗?编译器返回的错误[QuestionDB]不能转换为“()”是的,它的实体名称为QuestionDB,类为Millennium III。QuestionDB(Millennium III-应用程序的名称)通过var error:NSError?=nil
和managedContext.executeFetchRequest(请求,错误:&error)
我检查了,它显示-fatal error:在展开可选值时意外发现nil。但是当我不强制转换就获取时,它会毫无错误地打印出数据库中的所有对象,然后尝试使用AnyObject和获得结果!作为[问题]{}
谢谢!我忘了布置教室了。