我正在尝试为我的tableview单元格添加字幕,但它们不显示。
错误在哪里?
是排[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle]
最新的,也使用iOS 7?
此致
坦率
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (!cell)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = @"TestA";
cell.detailTextLabel.text = @"TestB";
return cell;
}
最佳答案
这段代码:
if (!cell)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
永远不会执行,因为
dequeueReusableCellWithIdentifier: forIndexPath:
保证可以分配新的单元格。不幸的是,
registerClass:forCellReuseIdentifier:
不允许您指定UITableViewCellStyle
。将
dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath
更改为dequeueReusableCellWithIdentifier:CellIdentifier
。此方法不能保证将返回一个单元格。*否则,您的代码将创建具有所需样式的新单元格。*-(如rdelmar所指出的,如果您使用的是 Storyboard,则不是这种情况。)