我已经提取了OSX英语词典,并希望在我的Swift iPhone应用程序中使用它。它有大约236,000个单词,我已添加到swift字符串数组中。
当我尝试运行构建时,需要很长时间才能编译然后抛出Segmentation Fault 11
这是因为数组太大了吗?
我是否正在尝试在我的项目中添加英语词典?
答案 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")
希望它有所帮助。