Ios NSO操作中的异步操作

Ios NSO操作中的异步操作,ios,multithreading,networking,nsoperation,wsdl2objc,Ios,Multithreading,Networking,Nsoperation,Wsdl2objc,我有一个web服务,我用它将图像上传到服务器。我在NSOperation中使用服务。当我同步调用服务的方法时,一切正常,但当我异步调用方法时,web服务器永远不会收到请求。我能想到发生这种情况的唯一原因是线程被终止,即使在web服务异步调用中存在一个循环,该循环将保持当前运行循环处于活动状态,直到收到响应。查看NSOperation的文档,您将看到如何实现并发NSOperations。简而言之,不是实现main,而是实现start,isConcurrent,isExecuting,以及isFin

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

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