在设备上存储和更新数据的最佳方式
Posted
技术标签:
【中文标题】在设备上存储和更新数据的最佳方式【英文标题】:best way to store and update Data on device 【发布时间】:2018-04-09 12:58:39 【问题描述】:每当用户启动应用程序时,应用程序都会向API
发送请求并从其接收Data
。我必须将旧数据存储在设备上的文件中,并在每次启动时更新它们。当数据大小超过 3-5 mb 时,读取可能会很长,不是吗?
我的问题是:如果我将在文件中存储超过 5 mb 的数据,我可以快速获取它们,还是只使用数据库?
如果是,我如何创建目录并将文件放入其中?
我应该归档它们吗?
【问题讨论】:
您拥有哪种类型的数据?你是怎么尝试的? 哪种类型的数据(图像、字符串、视频...等)?? 我接收字节并存储它。当我需要阅读它们时,我必须将它们解析为 Int、String 等 还有图片吗? @MRizwan33,不,只有字节,会转换成Int、Double、String等简单类型 【参考方案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
附:我不知道这次提取有多快,尽管它对我的任务有很大帮助。
【讨论】:
你可以添加一些代码示例,你是如何使用它的?以及您存储了多少数据?是否立即获取数据? 我以后会尝试使用它,如果它会问我的问题,我会接受它以上是关于在设备上存储和更新数据的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章
React/Flux - 监控 api 和更新存储新数据的最佳方式?
是否有最佳实践/连贯的方法来更新包含哈希键值存储的数据库字段?