我正在尝试开发一个简单的应用程序,它显示在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 dataSource必须从tableView返回一个单元格: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;
}
答案 0 :(得分:0)
如果dequeueReusableCellWithIdentifier:CellIdentifier没有为您提供非零值,则需要分配tableViewCell
if (!cell) {
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
}