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