块型让我疯狂

时间:2012-07-25 13:16:18

标签: objective-c block

我有这段代码:

typedef void (^OutputBlockType) (void (^) (NSString*));

static  OutputBlockType outputBlock;


+(void) logMessage:(NSString*) msg {
 NSString* bla = @"bla"; 
 outputBlock(bla);
}

当然,原始代码有点复杂。仍然.. Xcode(4.3)对这段代码不满意并且抛出了一个

  

将'NSString * _ strong'传递给不兼容类型'void的参数   (^ _strong)(NSString * __ strong)';

消息,基本上什么都没告诉我。有没有人知道我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

消息或多或少是清楚的:你已经声明你的块是一个带有字符串参数的块,但你传给它的是一个字符串。

如果你想要一个带字符串的块,这里有一个typedef

typedef void (^OutputBlockType)(NSString*)