我想定义一个类似于NSArray enumerateObjects的块:usingBlock
我的块如下
typedef void (^MyBlock)(BOOL *);
我希望在某种方法中调用它,这样该方法就会给我BOOL值来停止
我如何从这里继续?
编辑:
我想做以下
BOOL replaceSomething;
[self someMethod:MyBlock(&replaceSomething)]
< ==此语法不正确
if(replaceSomething){
do something
}
-(void)someMethod:^void(BOOL *stop){
*stop = YES;
}
答案 0 :(得分:1)
在处理块时,这是一个方便且易于记忆的网站: http://fuckingblocksyntax.com
你正在寻找的是最后一部分(使用typedef):
typedef void (^ MyBlock)(id, BOOL);
MyBlock myBlock = ^(id myId, BOOL myBool) {...};
P.S。请注意,BOOL不是对象,而是基本类型。