2013-05-18 3 views
1

Я пытаюсь изучить SQLite с помощью табличных представлений, но я пытаюсь найти хороший способ работать с большим количеством данных - и, похоже, я не нашел никаких хороших ссылок в Интернете. У меня есть база данных почтовых индексов (4582 строки), и мне нужно присоединиться к другим таблицам, чтобы правильно ее использовать. Я не уверен, как это сделать должным образом, но создание объектов всех строк потребует возраста на устройстве, и приложение становится медленным и не отвечает.Большой табличный просмотр от SQL с фильтром - что наиболее эффективно?

Сначала я подумал, что могу сделать что-то вроде создания экземпляров 50-100 объектов и загрузить больше, когда вы прокручиваете, но это будет иметь неприятные последствия, если они попытаются отфильтровать список, а может и нет? Я хотел бы, чтобы пользователь мог искать любую строку и текст в таблице, а не только почтовые коды.

Любые хорошие идеи, советы или примеры того, куда идти дальше?

ответ

0
+0

Спасибо. Хотя это не полностью решает мою проблему, кажется хорошей идеей использовать FMDB! Я даже не слышал об этом, но мне кажется, что это намного проще, чем все. Я рассмотрю его и как можно скорее обновить этот поток. –

0

Во-первых, вы должны запустить код, который извлекает данные на задней первом потоке. Примеры поиска StackOverflow или Google для Grand Central Dispatch.

Во-вторых, вы можете использовать NSSortDescriptor для сортировки ваших данных, как только у вас есть все это в массиве основного потока пользовательского интерфейса. Опять же, проверьте StackOverflow.

В-третьих, для поиска в режиме просмотра таблицы StackOverflow снова. Узнайте, как использовать панель поиска и ее делегат.

И, наконец, UITableView очень эффективен, когда дело касается рендеринга ячеек или обработки больших объемов данных. Он был построен таким образом. Я бы только заботился о получении результатов. Ваша таблица должна прокручиваться просто отлично, если вы правильно реализовали методы делегата таблицы.

+0

Спасибо за ваш ответ. Я думаю, мне нужно будет использовать комбинацию этих решений. Во-первых, вытащить данные из SQL с помощью FMDB (что кажется более простым, чем обычный SQLite), а затем читать ваши советы. Я вернусь, как только посмотрю на это. Опять же, спасибо за ваш ответ. –

+0

Без проблем, удачи! – Aaron

Смежные вопросы