在Swift中处理大型数组

时间:2018-08-09 16:48:43

标签: arrays swift xcode

我有一系列英语单词,大约需要275,000个元素,我需要用Swift编写的iOS应用程序使用这些单词。但是,Xcode似乎无法处理如此大的文件(超过3 MB)。该文件将无法在Xcode中打开,并且当我尝试编译该应用程序时,它似乎会无限期编译并且永远不会生成。

我应该如何处理大量数据?

2 个答案:

答案 0 :(得分:5)

不要在快速的源代码中放入巨大的文字数组。

相反,创建一个文本文件,将其作为资源拖到您的项目中,然后打开该文件,并在运行时使用components(separatedBy:)将其转换为数组。

为了提高速度和存储效率,您可以编写一个转换实用程序,该实用程序读取文本文件并使用components(separatedBy:)将其转换为Array的{​​{1}}。然后,您可以将Strings数组写入二进制plist。

然后您可以将plist文件作为资源拖到项目中,并在启动时编写将plist文件读入Strings的代码。

答案 1 :(得分:1)

如何将其放入文件并在运行时读取?例如,将元素放入JSON数组中并将该数组存储在文本文件中。将文件拖到Xcode项目中,然后在编译过程中将其复制到应用程序包中。从文件中读取JSON数组,并在运行时对其进行解析。

Internet上有很多教程,它们涉及读取捆绑文件并解析JSON数据。