Нет видимого @interface для 'UIViewController' объявляет селектор initWithStyle:reuseIdentifier:
Я создаю экземпляр UITableView в UIViewController, когда представление загружается как:
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;
}
Но я получил ошибку: нет видимого @interface для 'UIViewController' объявляет селектор initWithStyle:reuseIdentifier:.
Что я делаю неправильно? Я проверял другие ответы, но ничего не нашел.
1 ответ
Переместить этот код
- (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;
}
На ваш UITableViewCell
подкласс. Потому что этот метод связан с UITableViewCell
класс, а не UIViewController
,