我知道这个帖子的标题是不合标准的。 无论如何,这是我面临的问题:
我的应用程序显示一个包含时间相关内容的tableView(内容可以“旧”),并通过调用Web服务并解析其xml答案来定期更新。
因此,为了不向用户显示“过时”信息,我想隐藏表格并在应用程序进入非活动状态时显示“正在加载内容”标签。
要这样做,我会在AppDelegate中调用- (void)applicationWillResignActive:(UIApplication *)application
。
做得很好但是
那么,有没有办法区分应用程序进入的非活动状态的“类型”或任何其他方式,以便为我提供处理这三种状态变化的可能性?或者我需要走在一条完全不同的道路上吗?
感谢您的帮助 * SAM
答案 0 :(得分:0)
山姆,
我会以不同的方式解决你的问题。每次从Web服务更新数据时,我要做的是将NSDate
保存到NSUserDefaults
。然后,只要您调用- (void)applicationDidBecomeActive:(UIApplication *)application
中的AppDelegate
方法,只需将存储NSDate
的方法与当前时间戳([NSDate date]
)进行比较,如果差异大于刷新超时隐藏的任何值tableView并重新加载数据。
另一方面,我认为你想要的是applicationDidEnterBackground:
而不是applicationWillResignActive:
。