我希望每周都会重复UILocalNotification
次,在iOS7之前我会使用localNotification.repeatInterval = NSWeekCalendarUnit
- 除了NSWeekCalendarUnit
已被弃用。
文档说:
“使用NSCalendarUnitWeekOfMonth或NSCalendarUnitWeekOfYear,取决于 你的意思是“
但我不知道有什么区别,所以我不知道我的意思。
答案 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
,其定义为“指定年份日历单位的原始周。”。