Ответ Sideswipe - хорошее начало, но вы не хотите останавливать пользовательский интерфейс, пока получаете следующие двадцать предметов. В последнем случае вы должны вернуть ячейку с надписью «Загрузка ...» и UIActivityIndicator при запуске потока для фактического получения данных. Когда этот поток завершается, он сигнализирует основному потоку, который затем может перезагрузить данные. Кроме того, будьте осторожны, не изменяйте размер массива (в фоновом потоке) до тех пор, пока вы фактически не добавите данные, так как вы можете столкнуться с проблемой прокрутки пользователем за последней строкой, если [значение массива] слишком велико.
См. Образец яблока: LazyTableImages
Для индикатора UIActivity:
UIActivityIndicatorView * loading = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(200, 20, 30, 30)];
[date setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
[self.view addsubview:loading];
[loading startAnimating];