Что является жизнеспособной альтернативой для приложения Dictionary for Search в Swift? - PullRequest
0 голосов
/ 10 декабря 2018

Моя ситуация выглядит следующим образом:

У меня огромный CSV-файл с 300 тысячами записей, которые я преобразовал в словарь в Swift с помощью CSVImporter Framework.Пользователь теперь может ввести ключ в приложение, и он распечатает значение.К сожалению, до этого все работает, приложение должно загрузить весь словарь, который составляет около 800 МБ в ОЗУ, что иногда занимает около 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 голосов
/ 10 декабря 2018

На вашем компьютере, вне вашего приложения, напишите скрипт или приложение, которое перекодирует ваши большие данные как базу данных SQLite.Включите эту базу данных в ваше приложение.Теперь, когда приложение запускается, данные доступны мгновенно через SQLIte без затрат времени на преобразование и без нагрузки на память (поскольку выборки данных выполняются с диска по мере необходимости).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...