我正在使用一个自定义UITableViewCell
子类,称为MessageCell
.
我像这样初始化单元格:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
MessageCell *cell = [tableView dequeueReusableCellWithIdentifier:@"messageCell"];
// more code
return cell;
}
在每个自定义单元格中,我都有一个用于标记此单元格的复选框。当一个单元格被标记时,它被添加到一个数组中,反之亦然。
虽然这在数据方面有效,但 UI 并没有按应有的方式反映它。发生的情况是,除了标记的单元格之外,其他单元格也被标记了。
我假设这种行为源于单元格的可重用性,即当我将一个单元格标记为选中时,它具有一个与该屏幕位置中所有未来单元格的共同指针。
出于这个原因,我想使用“普通”不可重复使用的单元格。
所以我尝试了:
MessageCell *cell = [[MessageCell alloc] init];
或者:
MessageCell *cell = [[MessageCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
但是它们都导致显示空单元格。