0

Objective C で呼ばれる次の構造は何ですか?

CG_INLINE CGRect
CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
{
  CGRect rect;
  rect.origin.x = x; rect.origin.y = y;
  rect.size.width = width; rect.size.height = height;
  return rect;
}

渡す複数のパラメーターを保持するオブジェクトを作成するための独自の定義を作成したいと考えています。現在、複数のパラメーターを取り、オブジェクトを返すクラス内で静的メソッドを使用しています。しかし、CGRectMake のこの構文は、私が使用できる完璧なソリューションです。Objective C 構文で実際に呼び出される構造は何ですか?

4

1 に答える 1

6

CGRectMake()関数です。関数は C 言語の機能であり、Objective-C に固有のものではありません。したがって、Objective-C では特別な名前はありません。それらは C 関数と呼ばれます。

この一見不可解な構文について質問している場合:

CG_INLINE CGRect
CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
  1. CG_INLINE関数をインラインとして宣言するだけの特別なトークンです。CG_INLINEこの質問で説明を見つけることができます:

    CG_INLINE は何をしますか?

  2. CGRectリターンタイプです。続く改行は単なる空白です。関数定義の戻り値の型の後で行を改行するのは、C でやや一般的なコード形式の規則です。

  3. CGRectMake関数名です。

  4. 続く残りは、その引数リストと関数本体です。

関数を作成する場合は、その定義を.mファイルに配置し、対応する前方宣言をファイルに含めることができ.hます。

于 2012-04-27T10:55:30.853 に答える