1

iPhone ゲーム開発本からのヘッダー ファイルのインスタンス変数を次に示します。

CGFloat *point;
int count;
CGFloat vectorScale;

今、私は絶対に混乱しています。ポイント ivar の前のアスタリスクは何ですか? CGFLoat はクラスですか? そうではありませんか?

4

3 に答える 3

2

Xcode でこれらのうちの 1 つが何であるかを知りたい場合は、そのタイプをオプション クリックします。「定義にジャンプ」オプションが表示されます。

スウィフトの場合:

public struct CGFloat {
 ...

(コアグラフィックスに含まれる)

あなたの質問では、Objective C にいました:

#if defined(__LP64__) && __LP64__
# define CGFLOAT_TYPE double
# define CGFLOAT_IS_DOUBLE 1
# define CGFLOAT_MIN DBL_MIN
# define CGFLOAT_MAX DBL_MAX
#else /* !defined(__LP64__) || !__LP64__ */
# define CGFLOAT_TYPE float
# define CGFLOAT_IS_DOUBLE 0
# define CGFLOAT_MIN FLT_MIN
# define CGFLOAT_MAX FLT_MAX
#endif /* !defined(__LP64__) || !__LP64__ */

typedef CGFLOAT_TYPE CGFloat;
#define CGFLOAT_DEFINED 1

tl:drまだクラスではないようですが、現在の場所に応じて構造体、フロート、またはダブルです。

于 2011-09-08T06:11:58.307 に答える
2

それはクラスではありません。iOS では、float. osx では、floatまたはdoubleです。

アスタリスクは、それpointが へのポインタであることを示していCGFloatます。C の入門書では、ポインターについて説明しています。

于 2011-09-08T06:04:34.867 に答える