对于Swift中的Dictionary for Search应用程序,可行的替代方法是什么?

时间:2018-12-10 18:26:30

标签: swift dictionary

我的情况如下:

我有一个巨大的CSV文件,其中包含约30万个条目,并使用CSVImporter Framework在Swift中将其转换为Dictionary。 用户现在可以在应用程序中输入密钥,它将打印出值。可悲的是,在此之前,应用程序必须将整个字典(大约800MB)加载到RAM中,有时大约需要1-2分钟才能进行搜索。加载后,搜索速度很快。

代码如下:

var stack = [String: String]()

let path = Bundle.main.path(forResource: "MASTERKopie", ofType: "csv")!

importer.startImportingRecords { $0 }.onFinish { importedRecords in
        for record in importedRecords {
            stack[record[0]] = record[2]
        }

如果我要使用SQLite,如何将字典转换为数据库/表?

1 个答案:

答案 0 :(得分:1)

在您的应用程序外部的计算机上,编写将大数据重新编码为SQLite数据库的脚本或应用程序。在应用程序中包含该数据库。现在,当应用程序运行时,可以通过SQLIte立即获得数据,而无需花费任何时间进行转换,也不会对内存造成压力(因为需要根据需要从磁盘执行数据提取)。