每当用户启动应用程序时,应用程序都会向API
发送请求并从中接收Data
。我必须将旧数据存储在设备上的文件中,并在每次启动时更新它们。当数据大小超过3-5 mb时,读数可能很长,不是吗?
我的问题是:如果我将超过5 MB的数据存储在文件中,我可以快速获取它们,还是只使用数据库?
如果是,我如何创建目录并将文件放入其中?
我应该存档吗?
答案 0 :(得分:1)
我有类似的任务,并通过DispatchQueue使用CoreData和后台提取。我认为这应该有所帮助。
编辑:
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
return
}
DispatchQueue.global(qos: .background).async {
let managedContext = appDelegate.persistentContainer.viewContext
let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "ENTITY")
do {
self."NSManagedObject ARRAY" = try managedContext.fetch(fetchRequest)
} catch let error as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
}
DispatchQueue.main.async {
//MAKING CHANGES TO VIEW
}
}
P.S。我不知道这次获取的速度有多快,尽管它对我的任务有很大的帮助。