void(^)(NSData*)是什么意思?

ƒer*_*lle 4 xcode objective-c ios ios5

嗨我正在使用这个,我发现了这个功能:

- (void) queueRequest:(NSString*)urlPath completion:(void(^)(NSData*))completionWithDownloadedData;
Run Code Online (Sandbox Code Playgroud)

我尝试传递一个简单的NSData *data;,它会抛出一个错误,究竟是什么意思(void(^)(NSData*))?这是我第一次看到它.

非常感谢.

tom*_*ahh 11

(void(^)(NSData*))声明一个代码块.你可以用这种方式调用你的函数.

[obj queueRequest:urlPath completion:^(NSData* data){
            /* some code */
        }];
Run Code Online (Sandbox Code Playgroud)

data是块的参数,您可以使用它.当queueRequest以异步方式完成时,将调用该块.