1

アプリ デリゲートにいくつかの float を格納し、それをアプリ デリゲートの .m に合成します。

1つのView Controllerでそのフロートを使用するようになったとき、私はこれを行います:

del = [[UIApplication sharedApplication] delegate];
CGFloat PUEresult = (*(del.FacilitiesLoad) / *(del.ItLoad));

(ItLoad と FacilititesLoad は両方とも、デリゲートに格納されているフロートです)

次のコントローラーで同じことを行います。

CGFloat localPUE = (*(del.FacilitiesLoad) / *(del.ItLoad));

それは常に inf を返します。これはなぜですか?また、これを停止するにはどうすればよいですか?

私は長い間obj-cを扱っていないので、よろしくお願いします。

ポインターを削除すると、次のようになります。

バイナリ式 ('CGFloat *' (別名 'float *') および 'CGFloat *') に対する無効なオペランド

4

1 に答える 1

4

CGFloatはプリミティブ型で、*シンボルを使用する必要はありません。CGFloat を使用するすべての場所でそれを削除して、結果を再度確認してください

あなたのアプリデリゲートをあなたのタイプにキャストすることを忘れないでください:

del = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
于 2012-09-05T16:47:10.347 に答える