NSCalendarUnitWeekOfYear和NSCalendarUnitWeekOfMonth之间的区别
我想在UILocalNotification
之前每周做一个UILocalNotification
重复我会使用localNotification.repeatInterval = NSWeekCalendarUnit
– 除了NSWeekCalendarUnit
已被弃用。
文档说:
“使用NSCalendarUnitWeekOfMonth或NSCalendarUnitWeekOfYear,取决于你的意思是”
但我不知道有什么不同,所以我不知道我是哪一个。
这些似乎没有被logging,但很可能NSCalendarUnitWeekOfYear
将是代表日历年内的星期编号的1-53(或者可能是0-52)的值,而NSCalendarUnitWeekOfMonth
将代表1-5(或者可能是0-4)一个月内的一周。
这一切都假定公历。 我不能说其他的日历types。
看来NSCalendarUnitWeekOfMonth
等于kCFCalendarUnitWeekOfMonth
,它被定义为“指定一个月份的原始星期单位”。 而NSCalendarUnitWeekOfYear
等于kCFCalendarUnitWeekOfYear
,它定义为“指定年份日历单元的原始星期”。
至于UILocalNotification
应使用NSCalendarUnitWeekOfYear
作为repeatInterval
的单位。
当我设置repeatInterval = NSCalendarUnitWeekOfMonth
为从现在10秒的通知计划,通知不会触发,并且UILocalNotification
的实例的UILocalNotification
打印.. next fire date = (null) ...
如果我使用NSCalendarUnitWeekOfYear
则会出现通知,并在通知描述中的代码中看到正确的下一个启动date。