我有这段代码:
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)';
消息,基本上什么都没告诉我。有没有人知道我在这里做错了什么?
答案 0 :(得分:2)
消息或多或少是清楚的:你已经声明你的块是一个带有字符串参数的块,但你传给它的是一个字符串。
如果你想要一个带字符串的块,这里有一个typedef
:
typedef void (^OutputBlockType)(NSString*)