在设备上存储和更新数据的最佳方式

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 和更新存储新数据的最佳方式?

是否有最佳实践/连贯的方法来更新包含哈希键值存储的数据库字段?

在 iOS 上处理 Core Data 数据库的频繁更新和请求的最佳实践?

哪个数据存储系统提供最佳更新/更新插入性能?

在设备之间共享 iOS sqlite 数据库的最佳方式是啥