1

我有这个代码:

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)'的参数;

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

4

1 回答 1

2

消息或多或少很清楚:您已将块声明为采用带有字符串参数的块,但您正在向其传递一个字符串。

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

typedef void (^OutputBlockType)(NSString*)
于 2012-07-25T13:22:23.277 回答