Что мне нужно, чтобы вернуться к tableView:heightForRowAtIndexPath?

У меня есть контроллер представления с несколькими таблицами. Я хочу, чтобы на одном столе было больше клеток, чем на других. Прямо сейчас у меня есть:

- (CGFloat *)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (tableView != myBigTable)
    {
        return 44;
    }
    else
    {
        return 88;
    }
}

Я получаю предупреждение

Несовместимое преобразование целочисленного значения в указатель, возвращающее int из функции с типом результата CGFloat * (он же float *')

и когда я запускаю его, он падает.

Я также попробовал:

  • return 44.0 - ошибка преобразования double в float *
  • return 44.0f - ошибка для преобразования с плавающей точкой на *
  • CGFloat *height; height = 44; return height; - те же ошибки, что и при возврате значения, которое я хочу напрямую

Я искал что-то вроде [CGFloat floatWithDouble:44.0]; как это делается с NSNumber, но я ничего не нашел. Что я должен использовать?

2 ответа

Решение

Ваше объявление функции неверно. Это должно быть

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

Тип возврата CGFloat и не CGFloat *,

Вы должны использовать

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

и удалите * после вашего типа возврата.

Другие вопросы по тегам