请求ASIHTTPRequest或AFNetworking时在队列中添加操作

时间:2012-11-14 07:36:53

标签: objective-c ios asihttprequest afnetworking

我想在执行请求中添加操作。我读到了ASINetworkQueue,但它添加了所有操作并运行它。但我想将操作添加到运行队列中。

这可能吗?使用ASIHTTPRequest或AFNetworking我不介意,只要我得到我打算做的事。

修改

我尝试添加其他请求时显示以下错误。

  

[ASINetworkQueue addOperation:]:操作正在执行且无法排队'

2 个答案:

答案 0 :(得分:11)

addOperation: NSOperationQueue可以看出,您无法将正在执行的操作添加到NSOperationQueue

这就是那里提到的,

操作对象一次最多只能有一个操作队列,如果操作已在另一个队列中,则此方法抛出NSInvalidArgumentException异常。类似地,如果操作当前正在执行或已经完成执行,此方法将抛出NSInvalidArgumentException异常。

这是NSOperation的默认行为。在添加到队列之前,您需要确保isExecuting没有执行。有各种属性,例如isFinished,{{1}}等。来检查这一点。

答案 1 :(得分:0)

您只需在请求队列中调用addOperation即可。在asi ASiNetworkQueue中{{1}},如果它正在运行,它就不应该消失。