【问题标题】: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等简单类型

标签: ios swift storage


【解决方案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
    }
}

附:我不知道这次提取有多快,尽管它对我的任务有很大帮助。

【讨论】:

  • 你可以添加一些代码示例,你是如何使用它的?以及您存储了多少数据?是否立即获取数据?
  • 我以后会尝试使用它,如果它会问我的问题,我会接受它
猜你喜欢
  • 2015-10-31
  • 1970-01-01
  • 2021-12-04
  • 2023-03-17
  • 2019-02-01
  • 1970-01-01
  • 2014-04-30
  • 1970-01-01
相关资源
最近更新 更多