Swift数组大小限制和Xcode编译限制

时间:2015-07-09 14:05:13

标签: ios arrays xcode swift

我已经提取了OSX英语词典,并希望在我的Swift iPhone应用程序中使用它。它有大约236,000个单词,我已添加到swift字符串数组中。

当我尝试运行构建时,需要很长时间才能编译然后抛出Segmentation Fault 11

这是因为数组太大了吗?

我是否正在尝试在我的项目中添加英语词典?

2 个答案:

答案 0 :(得分:1)

您可能不应将此存储为单个字符串。您可以使用更高效的数据结构,例如trie。您还应该考虑不要将整个内容一次加载到内存中,而是能够从文件系统中导航它。

答案 1 :(得分:1)

我能够通过将实际的字典文本文件添加到我的xcode项目中来解决这个问题。然后利用下面的代码将文件中的单词填充到数组中。它很快。

let path = NSBundle.mainBundle().pathForResource("dict2", ofType: "txt")
let dico = String(contentsOfFile: path!, encoding: NSUTF8StringEncoding, error: nil)
let dict = dico!.componentsSeparatedByString("\n")

希望它有所帮助。