【问题标题】:What do i need to return to tableView:heightForRowAtIndexPath?我需要返回 tableView:heightForRowAtIndexPath 什么?
【发布时间】:2012-10-25 14:46:00
【问题描述】:

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

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

我收到一条警告说

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

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

我也试过了:

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

我一直在寻找类似 @​​987654325@ 的东西,就像使用 NSNumber 一样,但我没有找到任何东西。我应该使用什么?

【问题讨论】:

    标签: objective-c cgfloat


    【解决方案1】:

    你的函数声明是错误的。应该是

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

    返回类型是CGFloat 而不是CGFloat *

    【讨论】:

      【解决方案2】:

      你应该使用

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

      并删除返回类型后的 *。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-17
        • 2019-06-14
        • 2021-08-23
        • 2013-08-02
        • 2019-11-20
        • 2019-10-29
        • 2020-03-06
        • 1970-01-01
        相关资源
        最近更新 更多