0

複数のテーブルを持つView Controllerがあります。1 つのテーブルのセルを他のテーブルよりも大きくしたい。今、私は持っています:

- (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;- 欲しい値を直接返すのと同じエラー

NSNumber で行われるようなものを探しましたが、[CGFloat floatWithDouble:44.0];何も見つかりませんでした。私は何を使うべきですか?

4

2 に答える 2

5

関数宣言が間違っています。それは違いない

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

戻り型はCGFloatand notCGFloat *です。

于 2012-10-25T14:49:26.467 に答える
1

使用する必要があります

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

戻り型の後の * を削除します。

于 2012-10-25T14:50:29.927 に答える