是否定期从SOAP服务中提取数据的最佳方法? - 苹果手机

时间:2012-05-17 19:16:04

标签: ios web-services soap

我有一个访问SOAP Web服务的应用程序,以便下载它的一些数据。我的问题是我需要定期执行此操作。目前,用户按下“更新”按钮以下载数据,但我希望在用户不需要按下按钮的情况下完成。

在这种情况下,最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

只要您的下载已经设置好了,您似乎只需使用NSTimer即可。例如,如果您希望它每30秒触发一次下载,您可以将此行放入:

[NSTimer scheduledTimerWithTimeInterval:30 target:self selector:@selector(doDownload:) userInfo:nil repeats:YES];

你会有像

这样的功能
-(void) doDownload:(NSTimer*) timer

如果您完成了下载,请在doDownload函数中调用

[timer invalidate];

关闭计时器。

答案 1 :(得分:0)

您可能需要澄清我需要定期执行此操作的含义。应用程序中需要更新的频率(例如,您需要每秒,每分钟,每小时更新一次....)。或者它不是周期性的,并且在有可用更新时由服务器驱动。

如果您认为更新数据的决定是在服务器端实现(例如某些内容可能已更新且服务器需要立即更新客户端),请考虑使用Apple的推送通知系统。另一方面,如果所需的更新只是周期性的,那么可以考虑在数据更新频率和设备带宽/电池之间进行最佳平衡,然后再进行更新。