Лучше всего, чтобы ваша реализация cellForRowAtIndexPath:
выполняла как можно меньше работы. Фактически, он действительно не должен выполнять какую-либо работу, кроме заполнения экземпляра UITableViewCell
данными, которые необходимо отобразить.
Вы должны использовать кэшированные UITableViewCell
s, чтобы вам не приходилось каждый раз выделять новую ячейку. Если вы можете выполнить разбор и тому подобное в отдельном потоке и сделать проанализированные данные, готовые для представления, доступными для cellForRowAtIndexPath:
, у вас не должно возникнуть проблем с производительностью.
Вы не сказали, используете ли вы пользовательский подкласс UITableViewCell
, но если это так, иерархии глубокого просмотра также могут представлять проблему с производительностью, поскольку каждое представление в иерархии отображается. Чем полнее вы можете сделать UITableViewCell
с, тем лучше.
Надеюсь, что вы движетесь в правильном направлении.