повышение производительности uitableview - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть это приложение, которое я позволяю пользователю настроить поисковый запрос на основе значений, выбранных им из набора XML-данных, которые затем будут использоваться для поиска в базе данных.

На данный момент у меня есть 3 ячейки, которые могут принимать параметры поиска для запроса, каждая ячейка загружает свои данные в одно и то же представление uitable, поэтому я должен сделать несколько попыток с моими операторами if, чтобы убедиться, что все работает правильно для правильного набора данных ,

первая ячейка позволяет пользователю выбрать производителя мотоцикла, все производители перечислены в табличном представлении. Загружаемый xml-файл имеет ключевое значение, относящееся ко второму списку, в котором перечислены модели каждого человека. Я хочу настроить список производителей на основе выбора производителя, как только пользователь выберет ячейку просмотра таблицы.

так что, когда пользователь возвращается к главному виду, затем выбирает вторую ячейку (словарь), который я создал, загружается очень быстро.

В данный момент все выполняется каждый раз при загрузке подпредставления .. так, потому что мой список производителей настолько велик, когда пользователь выбирает производство, которое он хотел бы искать, когда возвращающийся в подпредставление с производителем выбирал идентификатор необходимо сопоставить каждую модель каждого производителя, чтобы отобразить список, который занимает очень много времени.

Я хотел бы знать, как вы попытаетесь сделать что-то подобное. ниже приведена блок-схема того, как я думаю сделать это. Я хотел бы получить некоторые комментарии / предложения, если вы думаете, что я делаю это правильно или нет, а также как даже попытаться это сделать. enter image description here

любая помощь будет принята с благодарностью (если вы не можете прочитать текст на картинке, вы можете щелкнуть правой кнопкой мыши, чтобы сохранить на рабочем столе, и он будет намного больше)

1 Ответ

0 голосов
/ 09 ноября 2011

Чтобы сделать это правильно, вы, вероятно, захотите использовать какую-то структуру данных в своем приложении, которая позволяет выполнять быстрые запросы, а не выполнять многократный анализ входного файла xml.

Для простого «первого» решения вы можете проанализировать XML-файл в NSDictionary и запросить его для связей «Производитель -> Модель». Вы можете создать NSDictionary один раз из XML-файла, а затем сохранить результат где-нибудь, и поиск будет намного быстрее, чем просмотр XML каждый раз.

Для чего-то более надежного, стоит рассмотреть использование CoreData для хранения отношений между производителем и моделью. Это займет больше кода от вашего имени, но даст вам гораздо более приятную объектную модель.

...