如何创建一个将块作为参数和一个布尔值并在体内的函数;如果布尔值为true,则执行该块?
Block没有返回值(void),也没有任何参数。
在c ++中,我会用函数指针执行此操作,但我是目标c的新手,并且不知道如何执行块的条件执行。
答案 0 :(得分:4)
将您的方法声明为
-(void)myBlock:(void (^)(void))block withCondition:(BOOL)condition{
if(condition){
block();
}
}
将其命名为:
[self myBlock:^(void) {
NSLog(@"Hii block excuted");
} withCondition:YES];
有关详细信息,请参阅HERE
答案 1 :(得分:2)
Objective-C方法:
- (void)executeBlock:(void (^)(void))block onCondition:(BOOL)condition
{
if (condition)
{
block();
}
}
C函数:
void executeBlock(void (^block)(void), BOOL condition)
{
if (condition)
{
block();
}
}