2012-05-29 3 views
0

У меня есть UITableView, который заполнен содержимым, которое может быть помечено/помечено пользователем. Мое приложение успешно отправляет информацию закладки в серверную базу данных, когда содержимое помечено закладкой. Я пытаюсь представить наиболее эффективный способ отображения закладок в соответствующей ячейке, если контент уже был помечен закладкой пользователем.Тегирование контента/закладок пользователями

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

Вот где мне нужна помощь ...

Когда пользователь открывает приложение снова, UITableView повторно заполняется данными. Если ячейка содержит контент, который был закладок, мне нужно отобразить закладочное изображение в ячейке. Прямо сейчас у меня есть запрос базы данных в ViewDidLoad, который вытаскивает закладки пользователя. Единственная реализация, которую я могу придумать, - это поиск данных запроса в cellForRowAtIndexPath. Однако я знаю, что это повлияет на мою производительность прокрутки. Есть лучший способ сделать это?

ответ

0

Если у вас нет миллионов закладок, тогда проверка флажка закладки на каждом cellForRowAtIndexPath не должна сильно влиять на производительность.

В моей практике прокрутка таблицы просмотра очень эффективна, и все еще много процессорного времени для выполнения других задач. Выполнение простой проверки значения в индексе не должно сильно влиять на нее. Возможно, лучший способ приблизиться к нему - это проанализировать ваш результат запроса и создать выделенный NSArray с ТОЛЬКО флагом YES/NO в каждом соответствующем индексе, который вы можете проверить во время cellForRowAtIndexPath, чтобы принять решение о том, показываете ли вы индикатор закладки или нет ,

Если вам действительно нужно получить как можно больше скорости, вы можете создать массив C viewDidLoad с 0/1 значениями по каждому конкретному индексу и получить к нему доступ array[index]. Это удаляет любые дополнительные служебные данные, которые могут быть в NSArray. Но опять же - мой опыт показывает, что для этих видов использования накладные расходы минимальны.