深入Objective-C block 捕获变量
声明
int (^addNumber)(int) = ^(int number){
return number +2;
};
NSLog(@"%i",addNumber(1));
void (^printBlock)(void) = ^() {
NSLog(@"it is a block");
};
printBlock();
成员变量
typedef void (^CompleteBlock)(NSString * string);
@property(nonatomic ,copy)void (^handler)(void);
@property(nonatomic ,copy)CompleteBlock completeblock;
self.handler();
self.handler = ^{
};
参数
[self block:^NSString *(NSInteger number) {
number ++;
return [@"" stringByAppendingFormat:@"%ld",(long)number];
}];
-(void)block:(NSString *(^)(NSInteger number))block
{
NSString * str = block(2);
NSLog(@"%@",str);
}
[self block1:^(NSInteger number) {
}];
-(void)block1:(void(^)(NSInteger number))block
{
block(2);
}