我知道这里有很多与此主题相关的问题,但我找不到任何与我的问题相匹配的问题。我有UITableViewCell
名为“CustomTableViewCell”的子类。
下面提到的代码工作正常,但是,我的单元格中有复选标记,我想停止可重用性,因为单元格的最大数量不会超过 25,因此它不会影响性能,我想经过多次搜索,我发现我必须删除 tableViewdequeueReusableCellWithIdentifier
方法或只是将标识符更改为 nil,但不幸的是,当我这样做时,我得到了空单元格,并且我的应用程序崩溃了我在这里缺少什么?
这很好用,但它重用了单元格。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CustomCell";
CustomTableViewCell *cell = (CustomTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[CustomTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
...
...
...
...
return cell;
}
相反,此代码崩溃:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CustomCell";
CustomTableViewCell *cell = (CustomTableViewCell *)[tableView dequeueReusableCellWithIdentifier:nil];
if (cell == nil) {
cell = [[CustomTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
...
...
return cell;
}