我需要使用http请求的结果执行重复任务,因此希望将完成处理程序的声明存储在变量中(或者以某种方式将其声明为可以传入的函数)。
示例代码:
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
// carry out some action
}];
我希望能够写
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler: standardHandler ];
其中 standardHandler 包含块函数。
这可能吗?
我对Objective C很新,很抱歉,如果这是一个显而易见的问题。
答案 0 :(得分:6)
不确定
void (^completionHandler)(NSURLResponse *, NSData *, NSError *) = ^(NSURLResponse *response, NSData *data, NSError *error) {
// carry out some action
};
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:completionHandler];