【问题标题】:How do I know if day is changed in iPhone date calender?我如何知道 iPhone 日期日历中的日期是否更改?
【发布时间】:2014-04-13 16:30:02
【问题描述】:

据我所知,我们可以通过这种方法识别iPhone设置中的时间是否发生变化

- (void)applicationSignificantTimeChange:(UIApplication *)application

但我想要在日期改变时触发条件的行。

例如,今天是 2014 年 3 月 10 日,但后来如果我从 iPhone 设置中实际更改了日期,例如 3 月 11 日,那么我想知道上述方法中的相同内容。

请大家帮忙。

提前致谢。

【问题讨论】:

    标签: ios date


    【解决方案1】:

    我建议您在每次应用启动以及每次应用变为非活动或进入后台时保存当前日期。

    然后当applicationSignificantTimeChange:被调用时,检查当前日期和保存的日期,看看日期是否改变了。

    【讨论】:

    • 是的,如果没有任何解决方案,我已经想这样做了。无论如何感谢您的建议。
    • 没有仅针对日期更改发送特定消息。只有applicationSignificantTimeChange: 处理了除日期更改之外的更改。
    • 好的!!那么我会按照这个逻辑去。
    【解决方案2】:

    我刚刚尝试过,当您通过系统设置手动更改日期时,UIApplicationSignificantTimeChangeNotification 会触发,而不仅仅是在午夜之后更改日期时。

    因此您无需为手动更改日期执行任何操作,applicationSignificantTimeChange 将被调用。

    如果您确实需要强制仅在日期发生更改时才采取该操作,那么您当然可以存储您上次知道的日期并在您的applicationSignificantTimeChange 实现中进行比较以防止不必要的执行如果由于某种原因,事件被触发但日期实际上并没有改变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-03
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      相关资源
      最近更新 更多