iPhone ゲーム開発本からのヘッダー ファイルのインスタンス変数を次に示します。
CGFloat *point;
int count;
CGFloat vectorScale;
今、私は絶対に混乱しています。ポイント ivar の前のアスタリスクは何ですか? CGFLoat はクラスですか? そうではありませんか?
iPhone ゲーム開発本からのヘッダー ファイルのインスタンス変数を次に示します。
CGFloat *point;
int count;
CGFloat vectorScale;
今、私は絶対に混乱しています。ポイント ivar の前のアスタリスクは何ですか? CGFLoat はクラスですか? そうではありませんか?
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まだクラスではないようですが、現在の場所に応じて構造体、フロート、またはダブルです。
それはクラスではありません。iOS では、float
. osx では、float
またはdouble
です。
アスタリスクは、それpoint
が へのポインタであることを示していCGFloat
ます。C の入門書では、ポインターについて説明しています。