您好,我有一个基于 Web 服务的应用程序,可以与我们的服务器交换数据。因为我有一个专门的类来完成我的工作,所以主视图 Controller 实际上每次都会调用 worker。 worker 本身知道连接何时结束,因为它是一个 NSURLConnectionDelegate。但是,每当工作完成时,我都需要通知主视图 Controller 。 worker 是主视图 Controller 的委托(delegate),因此它知道何时需要开始工作。请帮助我。
最佳答案
你应该反过来做。
首先将你的 worker 对象声明为你的主视图 Controller 的成员(当然,让它成为一个属性),然后从你的主视图 Controller ,你可以调用 [self.worker sendRequstToServer]
发送请求。
其次,在您的主视图 Controller 中,无论您在哪里初始化您的工作对象,都不要忘记放置 self = worker.delegate
。
第三,在您的工作类中声明一个委托(delegate)方法,例如-(void)webServiceCallFinished()
,并在您的工作类中调用[self.delegate webServiceCallFinished]
-connectionDidFinishLoading()
(如果您使用 NSXMLParer 解析 xml,您可能想在 -parserDidEndDocument()
中执行)
最后,您想将主视图 Controller 声明为工作类的委托(delegate)并实现 -webServiceCallFinished()
。
希望这对您有所帮助。
关于iphone - 我的主视图 Controller 如何知道 Web 服务调用何时结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11056802/