如果既没有在TableViewController中使用代码的方式注册:
[self.tableView registerClass: [CustomTableViewCell class]
forCellReuseIdentifier: CellTableIdentifier];
也没有在storyboard或nib中的视图Cell的Identity Inspector->Custom Class对应Cell:
实现tableView:cellForRowAtIndexPath:时,调用以下方法会在运行时报错:
*** Terminating app due to uncaught exception
'NSInternalInconsistencyException', reason: 'unable to dequeue a cell with identifier Cell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'***
......
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
@"Cell" forIndexPath:indexPath];
......
这时应该采用没有IndexPath参数这种:
......
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
@"Cell"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:
UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
......