2012-04-27 12 views
0

私は合格複数のパラメータを開催するオブジェクトを作成するための私自身の定義を作成したいObjective Cの "CG_INLINE CGRect"定義とは何ですか?

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; 
} 

、Objective Cの中で呼び出される次のような構造は何ですか。現在、クラス内で複数のパラメータをとり、オブジェクトを返す静的メソッドを使用しています。しかし、CGRectMakeのこの構文は、私が使用できる完璧なソリューションです。 Objective C構文で実際に呼び出される構造体は何ですか?

答えて

6

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

あなたは、この一見不可解な構文について尋ねている場合:

CG_INLINE CGRect 
CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height) 
  1. CG_INLINEインラインとして関数を宣言よりも、より多くの何もしない特殊なトークンです。あなたはこの質問にCG_INLINEの説明を見つけることができます。

    What does CG_INLINE do?

  2. CGRectは、戻り値の型です。後続の改行は単なる空白です。それは、関数定義の中で戻り値の型の後の行を中断するために、Cで多少一般的なコード書式の規則です。

  3. CGRectMakeは関数名です。

  4. 以下の残りは、引数リストと関数本体です。

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

+0

Cの関数定義には戻り値の型、関数名、パラメーターが含まれていますが、この定義ではCG_INLINE、CGRect、CGRectMakeとは何ですか – Firdous

+0

私の答えは編集しました。 – BoltClock

関連する問題