UITextField автоматически предлагает из большой базы данных - PullRequest
1 голос
/ 07 сентября 2010

Я пытаюсь добавить предложения для UITextField.Они отображаются как UITableView под текстовым полем, которое отображает несколько записей в зависимости от того, что пользователь печатает (например, Google Suggest, например).

Единственный метод, который я до сих пор пробовал, - это выбор из внутреннего SQLiteбаза данных.Это работает, но это очень медленно, так как база данных очень большая (около 35000 записей).Каждый раз, когда что-то печатается, приложение останавливается на 4 или 5 секунд, прежде чем появляются новые предложения.Поэтому я думаю, что этот метод не самый лучший.

Я думал о том, чтобы отобразить все в NSDictionary, но я боюсь, что таблица слишком большая (около 1,5 МБ), и постоянное хранение NSDictionary будет очень дорогостоящим.с точки зрения памяти.

Как вы думаете, ребята, было бы лучше?

1 Ответ

0 голосов
/ 07 сентября 2010

Вы когда-нибудь думали об использовании NSThread для создания массива, который будет использоваться табличным представлением?(не делайте никаких вызовов UIKit через это, хотя).Если вы запустите все это в главном потоке, это будет намного медленнее, особенно если ваша база данных велика.

Если вы не знаете, как работает NSThread, ознакомьтесь с этим замечательным учебником: http://www.xprogress.com/post-36-threading-tutorial-using-nsthread-in-iphone-sdk-objective-c/

...