【问题标题】:Store and retrieve data for API calls存储和检索 API 调用的数据
【发布时间】:2018-10-14 18:01:50
【问题描述】:

我正在开发商店应用程序,我可以选择让用户选择不同尺寸数量的多个商品(衣服)。

为此,我创建了结构,因此购物车中项目的最终结果如下所示:

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”。谢谢你的帮助!

【问题讨论】:

    标签: ios swift database rest struct


    【解决方案1】:

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

    【讨论】:

    • 感谢您的建议。我创建了singleton
    猜你喜欢
    • 2016-12-03
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 2017-04-10
    相关资源
    最近更新 更多