以下代码用作将nib文件中的tableviewcell放入tableview的代码。我将tableviewcell与tableview放在同一笔尖中。我也尝试过初始化viewdidload中的单元,但是没有成功。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"identifier";
    NSLog(@"the cellidentifier is %@", CellIdentifier);
    bookmarksTableViewCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    NSLog(@"the cell is %@", bookmarksTableViewCell);
    return bookmarksTableViewCell;
}


我得到的错误是

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'


我已经检查了IB中的连接并也对其进行了重新布线,但结果还是一样。当我尝试使用NSLog'ing单元时,它为null。

最佳答案

你需要这样做

static NSString *CellIdenetifier = @"Cell";

BookMarksTableViewCell *cell = (BookMarksTableViewCell*) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if(cell == nil){
   cell = [[BookMarksTableViewCell alloc] initWithStyle:UITableViewCellStyleSubTitle reuseIdentifer:CellIdentifier];
}


我不确定是否需要,但我想我将其包括在内。

10-08 05:48