我想在执行请求中添加操作。我阅读了有关 ASINetworkQueue 的信息,但它添加了所有操作并全部运行。但我想将操作添加到运行队列中。
这可能吗?使用 ASIHTTPRequest 或 AFNetworking 我不介意,只要我得到我打算做的事情。
编辑
当我尝试添加另一个请求时,它显示以下错误。
[ASINetworkQueue addOperation:]:操作正在执行,无法入队'
我想在执行请求中添加操作。我阅读了有关 ASINetworkQueue 的信息,但它添加了所有操作并全部运行。但我想将操作添加到运行队列中。
这可能吗?使用 ASIHTTPRequest 或 AFNetworking 我不介意,只要我得到我打算做的事情。
当我尝试添加另一个请求时,它显示以下错误。
[ASINetworkQueue addOperation:]:操作正在执行,无法入队'
从苹果文档中addOperation:
可以清楚地看出,您不能将正在执行的操作添加到NSOperationQueue
.
这是那里提到的,
一个操作对象一次最多只能在一个操作队列中,如果该操作已经在另一个队列中,则此方法会抛出 NSInvalidArgumentException 异常。同样,如果操作当前正在执行或已经完成执行,则此方法会引发 NSInvalidArgumentException 异常。
这是 的默认行为NSOperationQueue
。您需要确保NSOperation
在添加到队列之前没有执行。有各种属性,例如isExecuting
,isFinished
等等.. 来检查这一点。
您只需调用addOperation
请求队列。对于asi
它ASiNetworkQueue
来说,它是否正在运行并不重要。