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
的实例,也可以是您为实体配置的自定义子类的实例。
你应该做的是:
- 将
results
更改为 [AnyObject]
类型
- 查看此数组以找到
Level
的实例
- 从
Level
的任何属性中获取整数值,其中包含您需要的整数。
我得到以下代码来加载存储的数据:
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
的实例,也可以是您为实体配置的自定义子类的实例。
你应该做的是:
- 将
results
更改为[AnyObject]
类型
- 查看此数组以找到
Level
的实例
- 从
Level
的任何属性中获取整数值,其中包含您需要的整数。