Получайте данные партиями и сохраняйте их в NSMutableArray для отображения в UITableView в iphone - PullRequest
0 голосов
/ 02 апреля 2012

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

1 Ответ

1 голос
/ 03 декабря 2012

В следующем делегате, где вы устанавливаете свои строки, добавьте еще одну строку

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return yourMutableArray.count+1;
}

Следующий делегат сообщает вам, какая ячейка в данный момент создается.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

Под этим вы можете добавить условие проверки как

if(indexPath.row > yourMutableArray.count)
{

  // This means you are at the end of your table
  // Call your webservice here and append the next set of data into the yourMutableArray
  // You can also show an activity indicator over the extra cell here, Indicating the loading of new data
   [self performSelector:@selector(getDataFromWebservice) withObject:nil afterDelay:1.0];
}
else
{
  // Do your cell settings here
}

и где-то в вашем коде, где вы проверяете успешность вашего webserivce, добавьте следующую строку, чтобы перезагрузить таблицу

[yourTable reloadData];

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...