????Block?????????????дIOS?????????????к??????????????????Block????????????
????1.???????Block
????int num1 = 2;
??????????????myBlock????????int???????? block
int (^myBlock)(void) = ^(void) {
return 10;
};
myBlock();
int (^myBlock1)(int) = ^(int num){
return num * 10;
};
myBlock1(num1);
void (^myBlock2)(int??int) = ^(int num1??int num2){
NSLog(@"num1 is : %d  num2 is : %d "??num1??num2);
};
myBlock2(num1??100);
????2.??block????????
????-(void) addPullToRefreshBlock:(void(^)(void))block {
????_cardTableView.mj_header = [MyMJHeader headerWithRefreshingBlock:^{
????block();
????}];
????}
????3.??block?????????
????- (void (^)(void)) method;
????4.typedef block
????typedef void (^BoolBlock)(BOOL);//???????????BOOL????????з??????block
????typedef int (^IntBlock)(void);//?????в?????????int??block
????typedef BoolBlock (^HugeBlock)(IntBlock);//?????????HugeBlock???????????????block
?????????????typedef??? block ?????????????????д??
???????磺
????block????
????-(void) addPullToRefreshBlock:RefreshBlock block{
????//code
????}
????????block
????-(BoolBlock) method;
????5.?????????
????????????? typedef???????
????@property (copy??nonatomic) BoolBlock myBlock;
????6.???block
static int(^maxIntBlock)(int?? int) = ^(int a?? int b){return a>b?a:b;};
int main()
{
printf("%d "?? maxIntBlock(2??10));
return 0;
}
????7.__block
??????????block?????block??????????????????????????????__block???
int main()
{
__block int i = 1024;
BoolBlock bBlock = ^(BOOL bV) {
if (bV) {
i++;//??????__block??????????????????
}
};
}