1

CGFloatsを受け入れるiPhoneObjectiveCメソッドを使用する場合、たとえば[UIColor colorWithRed:green:blue:]、定数引数にafを追加して、それらをfloatとして明示的に指定することが重要です。たとえば、このような場合、常に0.1ではなく0.1fと入力する必要がありますか?または、コンパイラはコンパイル時に0.1(一般にdouble)を0.1f(float)に自動的にキャストしますか?これらのキャストは、パフォーマンスを不必要に低下させるため、実行時に発生させたくありません。

前もって感謝します

MrMage

4

1 に答える 1

2

重要ではありません。単精度定数が期待される場所で倍精度定数を使用しても、何も壊れません。

ただし、暗黙の 64 ビットから 32 ビットへの変換に関する警告をオンにしていて、32 ビット アーキテクチャ (iPhone が含まれていると思われます) 用にビルドしている場合は、単純に単精度定数を使用する必要があります。その警告を受けないようにします。

(別の方法として、その設定を明示的にオフに設定し、アーキテクチャ条件で 64 ビット アーキテクチャをオンにすることもできます。ただし、現時点では、コードの一部を Mac アプリケーションでも使用している場合にのみ問題になります。)

于 2009-10-03T10:57:15.380 に答える