ios - Diferencia entre NSCalendarUnitWeekOfYear y NSCalendarUnitWeekOfMonth
objective-c ios7 (2)
Estos no parecen estar documentados, pero lo más probable es que NSCalendarUnitWeekOfYear
tenga un valor de 1-53 (o tal vez 0-52) que represente el número de semana dentro del año calendario, mientras que NSCalendarUnitWeekOfMonth
será 1-5 (o tal vez 0-4) que represente la semana dentro del mes.
Todo esto asume el calendario gregoriano. No puedo hablar con otros tipos de calendario.
Parece que NSCalendarUnitWeekOfMonth
es igual a kCFCalendarUnitWeekOfMonth
que se define como "Especifica la semana original de una unidad de calendario mensual". y NSCalendarUnitWeekOfYear
es igual a kCFCalendarUnitWeekOfYear
que se define como "Especifica la semana original del año de la unidad de calendario".
Quiero hacer una repetición UILocalNotification
cada semana, antes de iOS7 usaría localNotification.repeatInterval = NSWeekCalendarUnit
- excepto NSWeekCalendarUnit
ha quedado en desuso.
Los documentos dicen:
"Use NSCalendarUnitWeekOfMonth o NSCalendarUnitWeekOfYear, dependiendo de lo que quiera decir"
Pero no sé cuál es la diferencia, así que no sé a cuál me refiero.
En cuanto a la UILocalNotification
NSCalendarUnitWeekOfYear
debe usar como una unidad para repeatInterval
.
Cuando configuro repeatInterval = NSCalendarUnitWeekOfMonth
para la notificación programada dentro de 10 segundos, la notificación no se UILocalNotification
y la descripción de la instancia de UILocalNotification
imprime .. next fire date = (null) ...
Si utilizo NSCalendarUnitWeekOfYear
, aparece una notificación y veo la fecha del siguiente incendio correcta en la descripción de la notificación.