我读了很多关于核心数据的内容..但是对于实体类型进行计数的有效方法是什么(比如SQL可以用SELECT count(1)...).现在我刚刚解决了这个任务,选择了所有NSFetchedResultsController并获得了计数NSArray!我相信这不是最好的方式......
我制作了一个 iOS 应用程序来跟踪设备的 GPS 路线。问题是,当我跟踪超过 5 分钟时,coredata 需要很长时间才能保存。我保存了一个名为 session 的对象,并且 session 有很多位置对象。位置对象是 [ [纬度, 经度] ]
并且会话对象看起来像[名称:字符串,日期:nsdate,平均速度:双倍,高速:双倍,行驶公里数:双倍,位置:[[双,双]]]
所以......它有效,但5分钟后。我认为需要 2 或 3 分钟才能保存
在我的课堂上,我有一种从 coredata 中提取数据的方法。但我有一个问题:我需要将结果转换为数组,因为那样我就必须在其他类中使用该数组。
方法是:
func loadQuestion() -> NSArray{
let fetchRequest: NSFetchRequest<Questions> = Questions.fetchRequest()
do {
let array = try self.context.fetch(fetchRequest) as NSArray
guard array.count > 0 else { print("[EHY!] Non ci sono elementi da leggere "); return array }
return array
} catch let errore {
print("error FetchRequest")
}
return list
}
Run Code Online (Sandbox Code Playgroud)
我不知道如何转换变量数组?
结果(错误)
编辑:我写这个是因为我想将 fetch 的结果转换为数组,这样你就可以切换到另一个类
我正在尝试从我的核心数据实体中打印出值“用户名”。
var request = NSFetchRequest(entityName: "Users")
request.returnsObjectsAsFaults = false
var results = context.executeFetchRequest(request, error: nil)
if (results?.count > 0) {
for result: AnyObject in results! {
println(result.username)
}
}
Run Code Online (Sandbox Code Playgroud)
println(result.username) 行给我一个编译错误“AnyObject”没有名为“username”的成员。