存储和检索API调用的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储和检索API调用的数据相关的知识,希望对你有一定的参考价值。

我正在开发商店应用程序,我有选项,用户可以选择不同大小的多个项目(衣服)。

为此,我创建了struct,因此购物车中商品的最终结果如下:

let products = [
    Product(id: "1", quantities: [("1", 10), ("2", 10)]),
    Product(id: "2", quantities: [("1", 10), ("2", 10)]),
    Product(id: "3", quantities: [("1", 15), ("2", 20)]),
    Product(id: "4", quantity: 10),
]

我的问题是我在一个类中创建这个数组,然后应该将它发送到另一个类的服务器。重点是用户可以继续使用应用程序,因此如果他添加新产品,我的产品数据应始终存储和更新。

在我的类中存储和检索此数组的数据的最佳方法是什么,在用户完成创建订单后处理对api的调用?

应该存储UserDefaults,Realm还是声明全局变量?

我知道这可能是一个相当简单的问题,并且在SO上还有其他类似的问题,但由于有很多方法可以完成这项任务,我想知道在我的特定情况下哪一个是最好的和“Swifty”。谢谢你的帮助!

答案

这一切都取决于您的要求。如果您不关心用户进度,例如用户退出应用程序并再次打开应用程序,他们将失去进度并将不得不重新开始,然后使用singleton。创建一个单例类并将数组保存在那里。 如果您想保存用户进度,那么如果他们退出应用并再次打开,他们就可以从他们离开的地方开始。然后去UserDefault。 现在,如果您有一个简单的小数据集,那么使用UserDefaults,如果它是一个复杂的大型数据集,那么使用CoreDataRealm或您喜欢的任何其他数据库。

以上是关于存储和检索API调用的数据的主要内容,如果未能解决你的问题,请参考以下文章

用于从 cloudkit 检索单列的代码模式/片段

从数据库成功检索数据后,医疗 ID 片段未更新

为啥浏览器不在通过 fetch API 检索的 HTML 片段中运行 <script>? [复制]

onActivityResult 未在 Android API 23 的片段上调用

从外部存储中检索 Relay 查询片段的变量

检索数据未出现在 ListView 的片段中