“终止”应用程序,打开“任务切换器”和“自动锁定”之间的区别

时间:2010-07-21 13:31:56

标签: iphone ios4

我知道这个帖子的标题是不合标准的。 无论如何,这是我面临的问题:

我的应用程序显示一个包含时间相关内容的tableView(内容可以“旧”),并通过调用Web服务并解析其xml答案来定期更新。

因此,为了不向用户显示“过时”信息,我想隐藏表格并在应用程序进入非活动状态时显示“正在加载内容”标签。

要这样做,我会在AppDelegate中调用- (void)applicationWillResignActive:(UIApplication *)application

做得很好但是

  • 如果用户双击主页图标以打开任务切换器,则tableview也会逐渐消失
  • 如果iphone自动锁定屏幕,则会发生同样的事情

那么,有没有办法区分应用程序进入的非活动状态的“类型”或任何其他方式,以便为我提供处理这三种状态变化的可能性?或者我需要走在一条完全不同的道路上吗?

感谢您的帮助 * SAM

1 个答案:

答案 0 :(得分:0)

山姆,

我会以不同的方式解决你的问题。每次从Web服务更新数据时,我要做的是将NSDate保存到NSUserDefaults。然后,只要您调用- (void)applicationDidBecomeActive:(UIApplication *)application中的AppDelegate方法,只需将存储NSDate的方法与当前时间戳([NSDate date])进行比较,如果差异大于刷新超时隐藏的任​​何值tableView并重新加载数据。

另一方面,我认为你想要的是applicationDidEnterBackground:而不是applicationWillResignActive: