在iOS(Objective C)中将存储完成处理程序变量

3

我需要使用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 ];

标准处理程序中包含一个块函数。

这种情况是否可能?

我对Objective C还很陌生,如果这是一个显而易见的问题,请原谅。

1个回答

8

当然:

void (^completionHandler)(NSURLResponse *, NSData *, NSError *) = ^(NSURLResponse *response, NSData *data, NSError *error) {
    // carry out some action
};
[NSURLConnection sendAsynchronousRequest:request
                                   queue:[NSOperationQueue mainQueue]
                       completionHandler:completionHandler];

1
我喜欢这个网站的URL!:) 谢谢你提供的信息,我会尽快接受答案! - Ciaran Fisher

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接