存储和检索API调用的数据

时间:2018-10-14 18:01:51

标签: ios swift database rest 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的其他类似问题,但是由于有多种方法可以完成此任务,因此我想知道在我的特定情况下哪个是最好的,并且“敏捷”。谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

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