我的ViewController中有2个tableviews。我正在基于旗帜在2之间切换。
当我加载viewcontroller时,会加载注释表视图,但由于某种原因,cellComment的结果为零。 我已经注册了tableview类,并且还在故事板中设置了Identifier,但是dequeue没有工作
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(currentSelectionNews)
{
CMLTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"NewsCell" forIndexPath:indexPath];
[self configureCell:cell atIndexPath:indexPath];
return cell;
}
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
UITableViewCell *cellComment = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
// cellComment in nil
[self configureCommentCell:cellComment atIndexPath:indexPath];
return cellComment;
}
其他tableview加载正常。我在故事板中首先创建了它。
答案 0 :(得分:1)
dequeueReusableCellWithIdentifier
仅在您已创建等待回收的单元格时才有效。试试这个:
UITableViewCell *cellComment = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if(cellComment == nil){
cellComment = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}