什么是正确的语法

时间:2014-11-04 13:40:22

标签: ios objective-c-blocks

我想定义一个类似于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;
}

1 个答案:

答案 0 :(得分:1)

在处理块时,这是一个方便且易于记忆的网站: http://fuckingblocksyntax.com

你正在寻找的是最后一部分(使用typedef):

typedef void (^ MyBlock)(id, BOOL);
MyBlock myBlock = ^(id myId, BOOL myBool) {...};

P.S。请注意,BOOL不是对象,而是基本类型。