Пользовательский UITableViewCell, изменяющий indexPath во время прокрутки?
У меня есть пользовательский UITableViewCell, который я создал в Интерфейсном Разработчике. Я успешно снимаю очереди с ячеек, но при прокрутке ячейки начинают вызывать разные indexPaths. В этом примере я передаю текущие indexPath.section и indexPath.row в customCellLabel. Когда я прокручиваю таблицу вверх и вниз, некоторые ячейки изменятся. Числа могут быть повсюду, но клетки не пропускают визуально.
Если я закомментирую if(cell==nil), то проблема исчезнет.
Если я использую стандартную ячейку, проблема исчезнет.
Идеи, почему это может происходить?
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"CalendarEventCell"];
if (cell == nil) {
NSLog(@"Creating New Cell !!!!!");
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CalendarEventCell" owner:self options:nil];
cell = (UITableViewCell *)[nib objectAtIndex:0];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
// Set up the cell...
[customCellLabel setText:[NSString stringWithFormat:@"%d - %d",indexPath.section, indexPath.row]];
return cell;
}
1 ответ
Когда вы создаете ячейку в условии if(cell==nil), назначаете ли вы reuseIdentifier для ячейки как "CalendarEventCell"? Я вижу, что ваше перо зовут CalendarEventCell, но я думаю, вам также нужно установить
cell.reuseIdentifier = @"CalendarEventCell";
Если нет, то я не уверен, сможет ли он удалить нужные ячейки. Кроме того, не уверен, что относится к customCellLabel.