CoreData:从文件中加载整数

CoreData: Loading Integers out of a File

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

    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")
    }
}

在我尝试将数据存储在可变结果中的行中,出现以下错误:

Cannot convert value of type '[AnyObject]' to specified type 'NSInteger' (aka 'Int')

我确实知道我没有正确地处理错误,这是应该的。那就是我名单上的 'second step'。希望你能帮助我解决我的第一个问题。

executeFetchRequest return 是一组结果,因为提取可以而且通常会 return 多个结果。根据提取请求的配置方式,这些结果可以有不同的类型。所以 return 类型是 [AnyObject].

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

你应该做的是:

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