我正在尝试使用故事板制作自定义单元格。 我用Basic单元测试了我的程序并且它有效。 现在我已经创建了一个名为NewsCell的新类,它包含自定义单元格中的不同标签。 我还将该单元格作为NewsCell的子类。小区标识符是“NewsCell”。
这是cellForRowAtIndexPath:方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NewsCell *cell = (NewsCell *)[tableView dequeueReusableCellWithIdentifier:@"NewsCell"]; //signal : SIGABRT
News *info = [self.news objectAtIndex:indexPath.row];
cell.titreLabel.text = info.titre;
cell.descriptionLabel.text = info.description;
return cell;
}
当我运行我的应用程序时,它在第一个ligne处以信号信号SIGABRT崩溃。 我确信我已在标签和表格视图单元格之间建立了正确的连接。
***因未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'NIB数据无效。'
答案 0 :(得分:13)
我遇到了同样的问题。原来,我在Storyboard文件的Interface Builder Document窗格中检查了“Use Autolayout”。这会在iOS 5上运行时抛出“无效的NIB”错误,因为仅在iOS 6上支持自动布局。
答案 1 :(得分:0)
您尚未为单元格创建实例。尝试为单元格创建实例。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NewsCell *cell = (NewsCell *)[tableView dequeueReusableCellWithIdentifier:@"NewsCell"]; //signal : SIGABRT
if (cell == nil) {
cell = [[[NewsCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
News *info = [self.news objectAtIndex:indexPath.row];
cell.titreLabel.text = info.titre;
cell.descriptionLabel.text = info.description;
return cell;
}