Looking for objective-c Answers? Try Ask4KnowledgeBase
Looking for objective-c Keywords? Try Ask4Keywords

Objective-C Languageブロック


構文

  • //ローカル変数として宣言します:

    returnType(^ blockName)(parameterType1、parameterType2、...)= ^ returnType(argument1、argument2、...){...};

  • //プロパティとして宣言します:

    @property(非構造、コピー、NULL可能性)returnType(^ blockName)(parameterTypes);

  • //メソッドのパラメータとして宣言します:

    - (void)someMethodThatTakesABlock:(returnType(^ nullability)(parameterTypes))blockName;

  • //メソッド呼び出しの引数として宣言する:

    [someObject someMethodThatTakesABlock:^ returnType(parameters){...}];

  • // typedefとして宣言します:

    typedef returnType(^タイプ名)(parameterTypes);

    タイプ名blockName = ^ returnType(parameters){...};

  • // C関数を宣言してブロックオブジェクトを返す:

    BLOCK_RETURN_TYPE(^ function_name(関数パラメータ))(BLOCK_PARAMETER_TYPE);

備考

ブロックは、C、Objective-C、C ++、およびObjective-C ++のブロック言語仕様によって指定されます。

さらに、ブロックABIはブロック実装仕様によって定義されます。

ブロック 関連する例