当视图加载为时,我在 UIViewController 中实例化 UITableView:
table = [[UITableView alloc]initWithFrame:CGRectMake(self.view.frame.origin.x,self.view.frame.origin.y + hauteurFavorisCell, self.view.frame.size.width, self.view.frame.size.height-hauteurFavorisCell-hauteurNavigationBar)];
[table registerClass:[UITableViewCell class] forCellReuseIdentifier:@"DetailsFavoris"];
table.delegate = self;
table.dataSource = self;
table.hidden = YES;
[self.view addSubview:table];
问题是我希望单元格具有样式:UITableViewCellStyleValue1。因为单元格是使用 initWithStyle: UITableViewCellStyleDefault 方法创建的。我不能使用 dequeueReusableCellWithIdentifier:CellIdentifier。我的代码是这样的:
静态 NSString *CellIdentifier = @"DetailsFavoris";
UITableViewCell *cell ;//= [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
}
...
return cell;
但我想重用单元格以提高效率。我写下了:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
// ignore the style argument, use our own to override
self = [super initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:reuseIdentifier];
if (self) {
// If you need any further customization
}
return self;
}
但我收到一个错误:“UIViewController”没有可见的@interface 声明了选择器 initWithStyle:reuseIdentifier:。
我究竟做错了什么?我检查了其他答案,但一无所获。