我收到以下错误:
*由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法使具有标识符 FontCell 的单元格出列 - 必须为标识符注册一个 nib 或类或连接故事板中的原型单元格”
我不确定我做错了什么。我设置了单元格标识符(以编程方式,因为它不是通过 Interface Builder 创建的)并执行了我认为应该在委托方法中执行的所有操作,但是当我尝试加载 UITableView 时仍然出现该错误。
这是相关代码(值得注意的是,我将 UITableViewCell 子类化为自定义选项):
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.fonts.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"FontCell";
FontCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
if (!cell) {
cell = [[FontCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"FontCell"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
int row = indexPath.row;
cell.fontFamilyLabel.text = self.fonts[row];
return cell;
}
这是我在子类 UITableViewCell (FontCell) 中更改的唯一方法:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
self.fontFamilyLabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 200, 20)];
self.fontFamilyLabel.textAlignment = NSTextAlignmentCenter;
[self.contentView addSubview:self.fontFamilyLabel];
}
return self;
}
我到底做错了什么?