加载大文本文件的替代方法 - 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
我正在尝试为 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