Ios 如何存储大型字符串数组

Ios 如何存储大型字符串数组,ios,arrays,swift,Ios,Arrays,Swift,这是我学习swift的第二周 目前,我正在尝试创建一个报价应用程序,生成随机报价。我将引号存储在一个数组中。到目前为止,该应用程序运行良好,但是,我认为在视图控制器文件中存储引号不是很有效,特别是如果我计划列出100多个引号。我在某处看到一条评论,建议在数据库或plist文件中存储一个大字符串数组。我只是想知道是否有人能建议在数据库或其他地方存储引号的最佳方法。任何帮助都将不胜感激。如果您只想存储引号,那么数据库或用户默认值将不是一个好的选择 如果您在plist文件或JSON文件中保存引号会更好

这是我学习swift的第二周


目前,我正在尝试创建一个报价应用程序,生成随机报价。我将引号存储在一个数组中。到目前为止,该应用程序运行良好,但是,我认为在视图控制器文件中存储引号不是很有效,特别是如果我计划列出100多个引号。我在某处看到一条评论,建议在数据库或plist文件中存储一个大字符串数组。我只是想知道是否有人能建议在数据库或其他地方存储引号的最佳方法。任何帮助都将不胜感激。

如果您只想存储引号,那么数据库或用户默认值将不是一个好的选择


如果您在plist文件或JSON文件中保存引号会更好。

如果您只想存储引号,那么数据库或UserDefaults将不是一个好选择


如果在plist文件或JSON文件中保存引号会更好。

而不是在plist文件中保存引号,我真的会使用它


与CoreData相比,它的设置要容易得多,并且提供了相同的功能、示例和文档加载。

而不是在plist中进行设置,我真的希望使用它


与CoreData相比,它的设置要容易得多,并提供相同的功能、示例和文档加载。

您可以将引号保存在JSON文件、plist文件或xml文件中,并从视图控制器的文件中读取它们:

JSON:

XML:

Plist:

您可以使用数据库的另一个选项,如:SQLite、Realm或UserDefault:

SQLite:

领域:


用户默认值:

您可以将引号保存在JSON文件、plist文件或xml文件中,并从视图控制器的文件中读取它们:

JSON:

XML:

Plist:

您可以使用数据库的另一个选项,如:SQLite、Realm或UserDefault:

SQLite:

领域:


UserDefaults:

是,大型数据不应每次都保存在本地数组中。如果是本地的,你可以有一个json文件,plist或使用coredata。你的Qoutes的结构是什么?如果它只是一个字符串数组,没有任何额外的复杂性,那么使用UserDefaults可能是一个好主意,如答案中所述。另外,在您的情况下,检查可能很有用……对于存储大量数据,特别是大量静态数据,UserDefaults是一个非常糟糕的主意。对于真正大量的数据,最好将它们放入SQLite数据库并从中随机查询。这将消除内存空间问题。对于100个引号,将它们放在JSON文件甚至文本文件中并从那里加载可能是可以的。是的,大数据不应该每次都保存在本地数组中。如果是本地的,你可以有一个json文件,plist或使用coredata。你的Qoutes的结构是什么?如果它只是一个字符串数组,没有任何额外的复杂性,那么使用UserDefaults可能是一个好主意,如答案中所述。另外,在您的情况下,检查可能很有用……对于存储大量数据,特别是大量静态数据,UserDefaults是一个非常糟糕的主意。对于真正大量的数据,最好将它们放入SQLite数据库并从中随机查询。这将消除内存空间问题。对于100个引号,可以将它们放在JSON文件甚至文本文件中,然后从那里加载。谢谢您的回答。如果我只想存储两个数组呢。第一个数组用于引号,第二个数组用于存储引号的作者。将这两个数组存储在plist文件还是JSON文件中是理想的选择?@codescholar我建议您将引号和作者存储在同一个JSON文件中:[{“quote”:“生存还是毁灭”,“作者”:“William Shakespeare”},{“quote”:“生存还是毁灭”,“作者”:“William Shakespeare”}]USERDEFAULT不是plist文件吗?自定义plist比UserDefaults好吗?谢谢你的回答。如果我只想存储两个数组呢。第一个数组用于引号,第二个数组用于存储引号的作者。将这两个数组存储在plist文件还是JSON文件中是理想的选择?@codescholar我建议您将引号和作者存储在同一个JSON文件中:[{“quote”:“生存还是毁灭”,“作者”:“William Shakespeare”},{“quote”:“生存还是毁灭”,“作者”:“William Shakespeare”}]USERDEFAULT不是plist文件吗?自定义plist是否优于UserDefaults?