我需要返回tableView:heightForRowAtIndexPath?

时间:2012-10-25 14:46:00

标签: objective-c cgfloat

我有一个包含多个表的视图控制器。我希望一张桌子比其他桌子有更大的单元格。现在,我有:

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

我收到警告说

  

不兼容的整数到指针转换从'返回'int'   结果类型为'CGFloat *'的函数(又名'float *')

当我运行它时,它会崩溃。

我也试过了:

  • return 44.0 - 错误的双倍浮动*转换
  • return 44.0f - 浮动转换错误*转换
  • CGFloat *height; height = 44; return height; - 与直接返回我想要的值相同的错误

我已经找到了类似[CGFloat floatWithDouble:44.0];的东西,就像使用NSNumber一样,但我没有找到任何东西。我应该使用什么?

2 个答案:

答案 0 :(得分:5)

你的功能声明是错误的。一定是

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

返回类型为CGFloat而不是CGFloat *

答案 1 :(得分:1)

你应该使用

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

并在返回类型后删除*。