NSMonthCalendarUnit 和 NSYearCalendarUnit 在与 UILocalNotificat



NSMonthCalendarUnit 的行为与 UILocalNotification repeatInterval 完全相关?

找到下个月的同一天?

找到 30 天后的日期?

例如:如果我创建一个日期为:27/02/2015 的 UILocalNotification 并重复间隔:NSMonthCalendarUnit 什么时候会是下一个通知?不要介意二月是27日还是28日。只要考虑一下它总是 28。这不是真正的问题。

重复是在 27/03/2015

还是 29/03/2015 ?

同样的问题也适用于NSYearCalendarUnit。它只是增加了365天还是意味着明年的同一天,同一个月(27/03/2016)?

我会将其作为编辑发布,但它有点长。

我想这是基于单位的。例如,如果您创建一个日期为 2015 年 2 月 2 日的 uilocal通知,并为其提供 NSMonthCalendarUnit,它将在同一日期的每个月间隔再次调用它。

分解为组件 2015 年 2 月 2 日是 NSDayCalendarUnit=2,NSMonthCalendarUnit=2 NSYearCalendarUnit=2015。因此,每当任何 NSMonthCalendarUnit 的 NSDayCalendarUnit=2 和 NSYearCalendarUnit=2015 时,都会调用通知。(因此,如果您在月底(例如 1 月 30 日)设置了闰年日期,而该日期是 2 月份的闰年,则不会调用它。因此,这将具有相同的日期和年份,用于NSMonthCalendarUnit。除了年份之外,年份也是如此。

增加天数没有多大意义。想象一下,将 NSMonth 间隔设置为第一个日期,并在同月 31 日返回,这将不是一个非常实用的 API。

最新更新