0

我正在尝试开发一个简单的应用程序,它显示在 sqlite3 中制作的数据库中的名称。

它返回一个错误:

2012-08-21 21:10:43.182 NameDatabase[1325:c07] -[UITableView _createPreparedCellForGlobalRow:withIndexPath:] 中的断言失败;/SourceCache/UIKit_Sim/UIKit-1914.84/UITableView.m:6061 2012-08-21 21:10:43.184 NameDatabase[1325:c07] 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“UITableView 数据源必须从表视图:cellForRowAtIndexPath:'

我已经尝试了很多方法来解决这个问题,但我没有想法。

这是我认为导致问题的方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"CustomerCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    NameClass *name_class = [self.name_vc objectAtIndex:[indexPath row]];
    cell.textLabel.text = name_class.name;
    //[[cell textLabel] setText:[NSString stringWithFormat:@"%@ ,@%d",name_class.name, name_class.id]];
    return cell;
}
4

1 回答 1

0

您需要分配 tableViewCell 以防 dequeueReusableCellWithIdentifier:CellIdentifier 没有为您提供非零值

    if (!cell) {
    cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
}
于 2012-08-21T19:19:59.183 回答