Blockについて

694 ワード

1.Block:
1.変数を定義し、いつでも実行できるコードを格納する新しいデータ型であり、Blockは関数パラメータまたは関数の戻り値としてもよいし、従来の関数ポインタと同様に入力パラメータまたは戻り値を持つこともできる.
2.文字通りBlockはコードブロックであるが、インライン(inline)が実行されたとき(この点はc++に似ている)にパラメータを伝達できる点が不思議である.同時にBlock自体もパラメータとして方法と関数間で伝達することができ,これはBlockに無限の可能性を与えた.
2.構文規則:キー^
1.パラメータなし戻り値なし:
//    Block   ,   myBlock,      。
void (^myBlock)(void) = ^void(void){
    NSLog(@"Block Running");
}

2.パラメータに戻り値のタイプがあります.
double(^myBlock1)(int,int)=^double(int a,int b){//      double      int  
//    if(b!=0) return  a*1.0/b;
//    else return 0;
//             。
return b?a*1.0/b:0;//   b   (   0)   a*1.0/b     0;
};

3.続きます...