我想在执行请求中添加操作。我读到了ASINetworkQueue,但它添加了所有操作并运行它。但我想将操作添加到运行队列中。
这可能吗?使用ASIHTTPRequest或AFNetworking我不介意,只要我得到我打算做的事。
我尝试添加其他请求时显示以下错误。
[ASINetworkQueue addOperation:]:操作正在执行且无法排队'
答案 0 :(得分:11)
从addOperation:
NSOperationQueue
可以看出,您无法将正在执行的操作添加到NSOperationQueue
。
这就是那里提到的,
操作对象一次最多只能有一个操作队列,如果操作已在另一个队列中,则此方法抛出NSInvalidArgumentException异常。类似地,如果操作当前正在执行或已经完成执行,此方法将抛出NSInvalidArgumentException异常。
这是NSOperation
的默认行为。在添加到队列之前,您需要确保isExecuting
没有执行。有各种属性,例如isFinished
,{{1}}等。来检查这一点。
答案 1 :(得分:0)
您只需在请求队列中调用addOperation
即可。在asi
ASiNetworkQueue
中{{1}},如果它正在运行,它就不应该消失。