代理收到消息时是否可以运行阻止?
例如,如果我有一个框架将void块作为参数(我们称之为"成功"块),并且正在使用NSURLConnection委托来处理那些方法参数,当我从网页收到回复时,我该如何调用"成功"块传递方法参数?
这对我来说很难解释,我显然没有任何代码,但我可以澄清你是否有任何问题。
答案 0 :(得分:3)
你绝对可以。这就是所有完成处理程序/回调的工作方式。实际上,这就是
的块。举一个简单的例子,考虑一下这个NSURLConnection类方法:
+ (void)sendAsynchronousRequest:(NSURLRequest *)request
queue:(NSOperationQueue *)queue
completionHandler:(void (^)(NSURLResponse *response,
NSData *data,
NSError *connectionError))handler
对于第三个参数,您传递一个块。当请求结束时,将来的某个时间,NSURLConnection会做什么?它调用块。
所以,你可以做与NSURLConnection完全相同的事情。你可以编写一个带块的方法,你坚持使用块,你做一些可能需要一些时间的事情,然后你调用块。