Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 核心数据-为什么提取请求返回零?_Ios_Swift_Core Data - Fatal编程技术网

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和
获得结果!作为[问题]{}
谢谢!我忘了布置教室了。