У меня проблема:Обновление содержимого ячеек после удаления ячеек
У меня есть UITableView с некоторым текстом и некоторыми изображениями в качестве контента. TextLabel ячейки отображает текст, и я добавляю UIView с некоторыми UIImageViews в качестве своего представления в contentview.
Все работает нормально, пока я не удалю некоторые ячейки. Что происходит, я удаляю ячейку (скажем, первую) из таблицы, перезагружаю ее данные и т. Д. затем вторая ячейка перемещается еще дальше, НО! UIView справа содержит содержимое первой (удаленной) ячейки.
Я не знаю, почему это происходит - хотя я предполагаю, что что-то не так во мне метод callForRowAtIndexPath callback.
Я вставлю код, чтобы сделать его более понятным.
Что я могу сделать, это разгрузить контроллер и загрузить его снова - то образы содержат правильное содержание снова ....
Heres мой код:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifierUNCHECK = @"MyIdentifierUNCHECK";
MyStuff *m = [allObjects objectAtIndex:indexPath.row];
UITableViewCell *cell = [tableViewdequeueReusableCellWithIdentifier:MyIdentifierUNCHECK];
UIView *v;
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifierUNCHECK] autorelease];
v = [[[UIView alloc] initWithFrame:CGRectMake(5.0, 5.0, 70.0, 70.0)] autorelease];
v.contentMode = UIViewContentModeScaleAspectFill;
[v addSubview:[[UIImageView alloc] init]];//some image view
[cell.contentView addSubview:v];
}
cell.textLabel.text = m.name;
cell.textLabel.numberOfLines = 0;
cell.textLabel.font = [UIFont fontWithName:@"Helvetica-BoldOblique" size:14.0];
cell.imageView.image = [UIImage imageNamed:@"checkbox.png"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
Do у вас есть ваша модель (allObjects) в синхронизации, т. е. соответствуют ли индексы? Возможно, также покажет код удаления. – Eiko