佚名通过本文主要向大家介绍了把多个block放到一个数组里,然后分别执行数组里的block,执行的时候应该怎么调用呢等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 把多个block放到一个数组里,然后分别执行数组里的block,执行的时候应该怎么调用呢
描述:
解决方案1:
描述:
把多个block放到一个数组里,然后分别执行数组里的block,执行的时候应该怎么调用呢
解决方案1:
参照下面的代码修改即可。
typedef void (^block_t0)(void);
typedef void (^block_t1)(int i);
typedef void (^block_t2)(int i, int j);
- (NSArray *)getBlockArr {
block_t0 block0 = ^(void){NSLog(@"this is block_t0 "); };
block_t1 block1 = ^(int i){NSLog(@"this is block_t1 withPara:%i", i); };
block_t2 block2 = ^(int i, int j){NSLog(@"this is block_t2 withPara:%i %i", i, j); };
NSArray *blockArray = @[block0, block1, block2];
return blockArray;
}
-(void)test{
NSArray *blockArray = [self getBlockArr];
block_t0 block0 = blockArray[0];
block_t1 block1 = blockArray[1];
block_t2 block2 = blockArray[2];
block0();
block1(10);
block2(20, 30);
}