CoreData:从文件中加载整数

时间:2015-10-14 17:59:14

标签: swift core-data integer load appdelegate

我得到以下代码来加载存储的数据:

    func loadLevel(){
    let appDel:AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
    let context:NSManagedObjectContext = appDel.managedObjectContext

    let request = NSFetchRequest(entityName: "Level")
    request.returnsObjectsAsFaults = false

    do{
        let results:NSInteger = try context.executeFetchRequest(request)
        level = results
    }catch{
        print("Error")
    }
}

在我试图将数据存储在variabel结果中的行中,我得到以下错误:

  

无法转换类型' [AnyObject]'的值指定类型' NSInteger' (又名' Int')

我知道我没有正确地进行错误处理,因为它应该是正确的。那是第二步'在我的名单上。希望你能解决我的第一个问题。

1 个答案:

答案 0 :(得分:0)

executeFetchRequest返回一个结果数组,因为提取可以并且通常会返回多个结果。这些结果可以是不同类型,具体取决于获取请求的配置方式。因此返回类型为[AnyObject]

您尝试将获取结果分配给单个NSInteger。你不能像这样分配一个AnyObject数组。您的结果将是Level个实例的零个或多个实例,NSManagedObject的实例或您为该实体配置的自定义子类的实例。

你应该做的是:

  1. results更改为[AnyObject]
  2. 类型
  3. 查看此数组以查找Level
  4. 的实例
  5. Level的任何属性中获取包含所需整数的整数值。