Что мне нужно, чтобы вернуться к 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;
и удалите * после вашего типа возврата.