Как перезагрузить один раздел в UITableView

Эй, у меня возникли проблемы, пытаясь понять это. UITableView имеет метод [tableView reloadSections: (NSIndexSet *) withRowAnimation: (UITableViewRowAnimation)], теперь, согласно документам Apple, этот метод принимает объект NSIndexSet и перезагружает любой раздел, указанный набором индексов. Проблема в том, что даже если я отправляю только один раздел этому методу, он перезагружает все разделы, и я не могу понять, почему это происходит. Любая помощь будет оценена


person Esko918    schedule 20.07.2012    source источник
comment
может быть, вы ошибаетесь в NSIndexSet?   -  person John Smith    schedule 20.07.2012
comment
[tableView reloadSections: [NSIndexSet indexSetWithIndex: indexPath.section] withRowAnimation: анимация]; это точная линия. Когда пользователь щелкает строку, он должен вызвать перезагрузку раздела строки, на которую нажал пользователь.   -  person Esko918    schedule 20.07.2012


Ответы (1)


Даже если вы попытаетесь перезагрузить только раздел, вы также должны предоставить процесс заполнения раздел за разделом:

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

static NSString *CellIdentifier = @"DetailViewCell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                   reuseIdentifier:CellIdentifier] autorelease];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
}

   if (indexPath.section == 0){
      //blablabla
      cell.textLabel = blabla
   }
   else if (indexPath.section == 1){
      ///blablabla
      cell.textLabel = blabla2
   }
return cell;
}

... потому что перезагрузка таблицы (это только раздел или вся таблица) вызовет метод выше

person John Smith    schedule 20.07.2012
comment
Хм, я вижу, что ты сейчас говоришь. Что мне нужно сделать, это здесь, на мой другой вопрос, может быть, вы можете помочь. [ссылка] stackoverflow.com/questions/11525402/ - person Esko918; 20.07.2012
comment
хорошо, если я ответил на ваш текущий вопрос, вам лучше принять его, прежде чем я начну переходить по вашей следующей ссылке - person John Smith; 20.07.2012