NSOperation内部的异步操作

时间:2012-09-28 07:30:49

标签: ios multithreading networking nsoperation wsdl2objc

我有一个Web服务,我用它来将图像上传到服务器。我在NSOperation内使用该服务。当我同步调用服务方法时,一切正常,但是当我异步调用方法时,Web服务器永远不会收到请求。我能想到这种情况的唯一原因是线程被杀了,即使在Web服务异步调用中存在循环,它会使当前的runloop保持活动状态,直到收到响应为止。

1 个答案:

答案 0 :(得分:2)

查看NSOperation的文档,您将了解如何实现并发NSOperations。简而言之,您不是实施main,而是实施startisConcurrentisExecutingisFinished。通常,您会为YES返回isConcurrent,在start方法中启动您的请求并将isExecuting设置为YES,并在您的请求完成时将isFinished设置为是。有关更多详细信息,请参阅Apple NSOperation官方类文档。