加载大文本文件的替代方法 - Swift

Alternative to loading large text file - Swift

我正在尝试为 iOS 制作文字游戏,我需要根据字典检查单词以确定该单词是否有效。

目前我正在从文本文件加载词典并将其存储在一个集合中。但是,每次我启动应用程序时都需要几秒钟才能加载。文本文件大约有 25 万行。

我能否在数组或集合中获取可用数据,而无需在每次启动应用程序时都读取文本文件?

您应该考虑使用 Core Data 等方式保存您的 word 文件。

在第一次加载您的应用程序时,您可以填充您的核心数据存储(可能在后台向用户解释规则时)。

完成此操作后,您可以使用 NSFetchRequest

查询您的单词存储

要使用预填充的核心数据数据库,您可以从在开发中填充开始……

let count = try! moc.count(for: request)
if count = 0 {
    loadWords()
}

func loadWords() {
    // run through your words.txt file and create object(s)
    // for each word
}

准备好发布后,将您的数据库文件添加到应用程序的资源中,然后添加修改您的 loadWords() 函数以将这些文件从应用程序包复制到核心数据存储的 url