使用" applicationSignificantTimeChange"

时间:2015-04-23 13:12:21

标签: ios uiapplicationdelegate

我可能在这里问一个愚蠢的问题。

我最近注意到了UIApplication委托方法

- (void)applicationSignificantTimeChange:(UIApplication *)application {

}

我想知道它的实际用途是什么?我们需要处理这个吗?任何人都可以解释在iOS应用程序中可能发生的情况,我们需要在这里进行一些编码。

我的应用程序对系统时间非常敏感,这就是我提出这个问题的原因。看到这个API后,我感觉我在这里缺少一些东西要处理。

我只是很想知道...... :)

谢谢, Ramesh Chandran A

2 个答案:

答案 0 :(得分:0)

根据iOS上的文档,此方法称为:

  

重要时间变化的例子包括午夜到来,   承运人更新时间,以及夏令时的变化   时间。委托可以实现此方法来调整任何对象   显示时间或对时间变化敏感的应用程序。之前   调用此方法,该应用程序也发布了一个   UIApplicationSignificantTimeChange通知给予感兴趣   对象有机会对变化作出反应。如果您的应用目前是   暂停,此消息排队,直到您的应用程序返回到   前景,此时它被传递。如果多次改变   发生,只发送最新的一个。

何时应使用此示例包括:

  • 如果您的应用有重复的预定活动,例如现在已过去的本地通知,您的应用应重新安排下一个通知(例如每日提醒)。
  • 如果您的应用显示前一段时间需要正确的数据,即使用户设置了错误的时间(例如显示您当前葡萄糖读数或类似情况的医疗应用)。例如,如果葡萄糖监测器显示旧的葡萄糖值作为用户当前的葡萄糖值,则用户可能做出错误的决定并受到伤害。

您对此事件的回应取决于您的申请。例如,您可以从服务器读取UTC以查看电话的UTC是否在某个范围内是正确的,并采取适当的措施,例如警告用户,或更新实际UTC和电话UTC之间的内部偏移。

希望有所帮助。

答案 1 :(得分:-1)

-applicationSignificantTimeChange:大致相当于UIApplicationSignificantTimeChangeNotification通知。

我有一个自定义日期选择器控件,突出显示今天的日期。订阅此通知允许它在午夜更改其突出显示,或者如果用户手动使用时间设置混乱。