嗨,我有一个基于Web服务的应用程序,它将与我们的服务器交换数据。由于我有一个专门的班级在做我的工作,因此主视图控制器实际上每次都会调用该工作程序。工作者本身知道连接何时完成,因为它是NSURLConnectionDelegate。但是,无论何时完成工作,我都需要通知主视图控制器。 worker是主视图控制器的委托,因此它知道何时需要开始工作。请帮我。

最佳答案

您应该采取另一种方法。

首先将您的工作对象声明为主视图控制器的成员(当然,使其成为属性),然后从主视图控制器中,只需调用[self.worker sendRequstToServer]发送请求即可。

其次,在主视图控制器中,无论您在何处初始化工作对象,都不要忘记放置self = worker.delegate

第三,在您的工作程序类中声明一个委托方法(类似于-(void)webServiceCallFinished()),并在工作人员的[self.delegate webServiceCallFinished]中调用-connectionDidFinishLoading()(如果您使用NSXMLParer解析xml,则可能要在-parserDidEndDocument()中执行)

最后,您想将主视图控制器声明为worker类的委托并实现-webServiceCallFinished()

希望这可以帮助。

关于iphone - 我的主 View Controller 如何知道Web服务调用何时完成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11056802/

10-13 03:50