2015-11-22 2 views
0

Я пытаюсь этот код и получить ниже предупреждениеНесовместимые типов указателей, относящих «TableViewCell» от «UITableViewCell»

Несовместимых типов указателей Присваивания «GuideTableViewCell» от «UITableViewCell»

в строке

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"BusinessTableViewCell"]; 

Полный код:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 

    BusinessTableViewCell * cell = [self.tableView dequeueReusableCellWithIdentifier:@"BusinessTableViewCell"]; 
    if (!cell) { 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"BusinessTableViewCell"]; 
    } 

    BusinessInfo * business = self.businesses[indexPath.row]; 
    cell.business = business; 
    return cell; 
} 

также попытался

BusinessTableViewCell *cell = [[UITableViewCell alloc]initWithStyle: UITableViewCellStyleDefault reuseIdentifier:@"BusinessTableViewCell"]; 

все еще получаю ошибку может любой любезно дать мне некоторую помощь.

спасибо

ответ

1

У вас есть два вопроса в коде. Оно должно быть:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    BusinessTableViewCell * cell = (BusinessTableViewCell *)[self.tableView dequeueReusableCellWithIdentifier:@"BusinessTableViewCell"]; 

    if(!cell) 
    { 
     cell = [[BusinessTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"BusinessTableViewCell"]; 
    } 

    BusinessInfo * business = self.businesses[indexPath.row]; 
    cell.business = business; 

    return cell; 
} 
  1. Вы должны бросить dequeueReusableCellWithIdentifier к соответствующему классу.
  2. Когда вы создаете новую ячейку, она должна быть нужного типа.
+0

Почему требуется self.tableView dequeueReusableCellWithIdentifier. код работает без этого. он просто дает предупреждение. – iSrini

+0

Это облегчает повторное использование ячеек, что делает представление таблицы намного более эффективным. – rmaddy

+0

Спасибо, да немного улучшений производительности в каждом фрагменте кода идет полным ходом к большому улучшению общей производительности приложения. – iSrini

0

У вас возникла ошибка, потому что ваш код не может работать.

Ваш код ожидает BusinessTableViewCell. Вы создаете UITableViewCell. Вы должны создать BusinessTableViewCell.

+0

Code Works Но просто дает предупреждение! – iSrini

Смежные вопросы