Как сказать UiableView для предварительной загрузки всех строк?

StackOverflow https://stackoverflow.com/questions/2931173

Вопрос

Есть ли способ сказать UiableView для предварительной загрузки всех строк?

Таблёс должен показывать несколько комментариев (до 80 комментариев).

Итак, мой комментарий использует сеттер для адаптации ячейки к определенному комментарию.

-(void)setComment:(Comment *)newComment {
 if (newComment != comment) {
     [comment release];
        comment = [newComment retain]; 
       /*
        * set the cells view variables here
        */
    }
}  

Этот конкретный сеттер принимает довольно кучу обработки ресурсов, а прокрутка становится вроде вроде.

Я использую определенный комментарий Reuseiledifier вместо статического совокупности при вызове

dequeueReusableCellWithIdentifier:

Чтобы убедиться, что «новичок» равняется старому «комментарию».
И на самом деле это делает отлично работать при прокрутке на клетки, которые уже были загружены.

Но при первом прокрутите комментарии, он все еще лагает как ад.

Что приводит меня к своему вопросу:
Есть ли способ сказать таблицу для предварительной загрузки всех клеток? (который я сомневаюсь)
или
Должен ли я реализовать свой собственный кэш вместо того, чтобы полагаться на «DeceeueUsableCellWithidentifier:»?

Это было полезно?

Решение

Имейте в виду, что ваш комментарий Comment Reuseiledifier может быть то, что вызывает все, что нужно медленно (или, по крайней мере, не помогать). Причина, по которой мы используем ReuseIdifier для UiableViewCells, заключается в том, что если вы попытаетесь выделить новую ячейку каждый раз, когда вам нужен один, это не так, как если бы вы могли просто повторно использовать один, который был уже сделан.

Я бы порекомендовал предварительно вычисление ваших комментариев, чтобы вы могли просто установить свойства ваших ячеек и повторно использовать ячейки после прокрутки таблицы.

Другие советы

Нет, вы должны предварительно загрузить ваши данные в свой dataSource. Отказ Просто поместите все, что вам нужно в массиве и заполнить клетки таблицы от этого массива предварительно загруженных объектов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top