Différence entre NSCalendarUnitWeekOfYear et NSCalendarUnitWeekOfMonth

Je veux faire une répétition de UILocalNotification chaque semaine, avant iOS7 j'utiliserais localNotification.repeatInterval = NSWeekCalendarUnit – excepté NSWeekCalendarUnit a été déprécié.

Les docs disent:

"Utilisez NSCalendarUnitWeekOfMonth ou NSCalendarUnitWeekOfYear, selon ce que vous voulez dire"

Mais je ne sais pas quelle est la différence, alors je ne sais pas lequel je veux dire.

Ceux-ci ne semblent pas être documentés mais très probablement NSCalendarUnitWeekOfYear aura une valeur de 1-53 (ou peut-être 0-52) représentant le numéro de la semaine dans l'année civile tandis que NSCalendarUnitWeekOfMonth sera 1-5 (ou peut-être 0-4) représentant la semaine dans le mois.

Tout cela suppose un calendar grégorien. Je ne peux pas parler à d'autres types de calendar.

Il semble que NSCalendarUnitWeekOfMonth soit égal à kCFCalendarUnitWeekOfMonth qui est défini comme "Spécifie la semaine d'origine d'une unité de calendar d'un mois". et NSCalendarUnitWeekOfYear est égal à kCFCalendarUnitWeekOfYear qui est défini comme "Spécifie l'unité de calendar originale de la semaine de l'année".

Comme pour le UILocalNotification

NSCalendarUnitWeekOfYear doit être utilisé comme une unité pour repeatInterval .

Lorsque je définis repeatInterval = NSCalendarUnitWeekOfMonth pour la notification planifiée dans 10 secondes, la notification ne se triggers pas et la description de l'instance de UILocalNotification s'imprime .. next fire date = (null) ...

Si j'utilise NSCalendarUnitWeekOfYear alors la notification apparaît et je vois la prochaine date de tir suivante du code dans la description de la notification.