0

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

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

我收到警告说

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

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

我也试过:

  • return 44.0- double 到 float* 转换的错误
  • return 44.0f- float 到 float* 转换的错误
  • CGFloat *height; height = 44; return height;- 与直接返回我想要的值相同的错误

我一直在寻找类似[CGFloat floatWithDouble:44.0];NSNumber 的东西,但我没有找到任何东西。我应该使用什么?

4

2 回答 2

5

你的函数声明是错误的。一定是

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

返回类型 isCGFloat和 not CGFloat *

于 2012-10-25T14:49:26.467 回答
1

你应该使用

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

并删除您的返回类型后的 *。

于 2012-10-25T14:50:29.927 回答