ブロック変数


int hoge = 3;
int (^a)(int);

a = ^(int num) {
 return hoge+num;
}

a(3) -> 6

hogeはブロックを作ったときの値を保つ


int hoge = 3;
int (^a)(int);

a = ^(int num) {
 return hoge+num;
}
hoge++;

a(3) -> 6

hogeの変更を反映させたいとき

__block int hoge = 3;
int (^a)(int);

a = ^(int num) {
 return hoge+num;
}
hoge++;

a(3) -> 7

ソート

   NSComparator cmptr = ^(id obj1, id obj2){
       NSComparisonResult res = [obj1 compare:obj2];
       return res;
   };
   NSArray *arr2 = [arr sortUsingComparator:cmptr];

NSComparisonResult c = [x compare:y]の値は
x<y  NSOrderedAscending
x=y  NSOrderedSame
x>y NSOrderedDescending




最終更新:2012年02月28日 17:54