【发布时间】:2018-07-18 17:48:30
【问题描述】:
这是我学习 swift 的第二周。
目前,我正在尝试创建一个生成随机报价的报价应用程序。我将引号存储在一个数组中。到目前为止,该应用程序运行良好,但是,我认为将引号存储在视图控制器文件中效率不高,特别是如果我计划列出 100 多个引号。我在某处看到一条评论,建议将大量字符串存储在数据库或 plist 文件中。我只是想知道是否有人可以建议在数据库或其他东西中存储报价的最佳方法。任何帮助将不胜感激。
【问题讨论】:
-
是的,大数据不应该每次都保存在本地数组中。如果它是本地的,你可以有一个 json 文件,plist 或使用 coredata。
-
你的 Qoutes 的结构是什么?
-
如果它只是一个字符串数组——没有任何额外的复杂性——那么使用 UserDefaults 可能是一个好主意,正如this 答案中提到的那样。
-
另外,检查this answer 可能对您的情况有用...
-
UserDefaults 对于存储大量数据,尤其是大量静态数据来说是一个非常糟糕的主意。对于真正大量的数据,最好的选择是将它们放入 SQLite 数据库并从中随机查询。这将消除内存空间问题。对于 100 个引号,将它们放入 JSON 文件甚至文本文件并从那里加载它们可能是可以的。