4

[私は、特定の場合を除いて、開発者がJavaなどのプロセッサアーキテクチャをほぼ完全に無視できる言語で育ったため、このトピック全体を誤解している可能性があります。いくつかの概念が間違っている場合は、訂正してください。]

ここを読むと、たとえばfloatの代わりにCGFloatを使用することをお勧めします。これは、さまざまなプロセッサアーキテクチャ(64ビットハンドルのfloatが異なる)でコードの将来性を保証するためです。それが正しいと仮定すると、なぜUISlider、たとえば、float(値に)直接使用するのですか?いずれにせよ、アーキテクチャが変更された場合、私のコードは正しくないので、それらを読んでそれをに変換するのは間違っている(または何か)のではないでしょうか?floatCGFloat

4

2 に答える 2

6

CGFloatは単なるtypedefforfloatです。CGFloatこれにより、将来的に異なるものになるための柔軟性が提供されます。これが、それを使用することでコードの将来性を保証する理由です。Objective-C は多くの型でこれを行いNSIntegerます。別の例です。

UISliderそれらは同じ意味で使用できますが、Apple がドッグフーディングを行った場合には表示されないことに同意します。

于 2010-07-09T15:38:32.107 に答える
2

CGFloat は Core Graphics の一部であり、長年にわたって大きく変化したピクセル値などに使用されます (ここに TRS-80 愛好家はいますか?)。そのため、表示関連の描画値には CGFloat を使用することをお勧めします。

スライダーの値は、グラフィック関連ではありません。これは単純に 0.0 から 1.0 であり、これは float で正確に処理でき、おそらく 16 ビットの float です。

于 2011-06-01T18:26:12.460 に答える