NSCalendarUnitWeekOfYear& NSCalendarUnitWeekOfMonth

时间:2014-03-12 02:50:02

标签: ios objective-c ios7 uilocalnotification nscalendar

我希望每周都会重复UILocalNotification次,在iOS7之前我会使用localNotification.repeatInterval = NSWeekCalendarUnit - 除了NSWeekCalendarUnit已被弃用。

文档说:

  

“使用NSCalendarUnitWeekOfMonth或NSCalendarUnitWeekOfYear,取决于   你的意思是“

但我不知道有什么区别,所以我不知道我的意思。

2 个答案:

答案 0 :(得分:25)

至于UILocalNotification

NSCalendarUnitWeekOfYear应该用作repeatInterval的单位。

当我为从现在起10秒后安排的通知设置repeatInterval = NSCalendarUnitWeekOfMonth时,通知不会触发,并且UILocalNotification实例的说明会打印.. next fire date = (null) ...

如果我使用NSCalendarUnitWeekOfYear,则会显示通知,我会从通知说明中的代码中看到正确的下一个开火日期。

答案 1 :(得分:9)

这些似乎没有记录,但很可能NSCalendarUnitWeekOfYear将是1-53(或可能是0-52)的值,表示日历年内的周数,而NSCalendarUnitWeekOfMonth将是1-5(或可能是0-4)代表一个月内的一周。

这一切都假设格里高利历。我不能和其他日历类型说话。

似乎NSCalendarUnitWeekOfMonth等于kCFCalendarUnitWeekOfMonth,其定义为“指定一个月日历单位的原始周”。并且NSCalendarUnitWeekOfYear等于kCFCalendarUnitWeekOfYear,其定义为“指定年份日历单位的原始周。”。