6

我想在执行请求中添加操作。我阅读了有关 ASINetworkQueue 的信息,但它添加了所有操作并全部运行。但我想将操作添加到运行队列中。

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

编辑

当我尝试添加另一个请求时,它显示以下错误。

[ASINetworkQueue addOperation:]:操作正在执行,无法入队'

4

2 回答 2

11

苹果文档addOperation:可以清楚地看出,您不能将正在执行的操作添加到NSOperationQueue.

这是那里提到的,

一个操作对象一次最多只能在一个操作队列中,如果该操作已经在另一个队列中,则此方法会抛出 NSInvalidArgumentException 异常。同样,如果操作当前正在执行或已经完成执行,则此方法会引发 NSInvalidArgumentException 异常。

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

于 2012-12-04T07:45:33.227 回答
0

您只需调用addOperation请求队列。对于asiASiNetworkQueue来说,它是否正在运行并不重要。

于 2012-11-14T07:59:55.773 回答