Подтвердить что ты не робот

Как заменить устаревший NSWeekCalendarUnit в контексте UILocalNotification?

В iOS 7.0 NSWeekCalendarUnit устарел. В документации говорится, что необходимо заменить:

Используйте NSCalendarUnitWeekOfMonth или NSCalendarUnitWeekOfYear, в зависимости от на котором вы имеете в виду

Я использую NSWeekCalendarUnit для еженедельных напоминаний, какой я должен выбрать для получения того же значения? Я не понимаю разницы между NSCalendarUnitWeekOfMonth и NSCalendarUnitWeekOfYear.

Кто-то задал тот же вопрос здесь, на SO, без убедительного ответа.

Это довольно запутанно. Next week в моем понимании атома. Сегодня Sun 30 March 2014. Следовательно, Next week всегда будет Sun 6 March 2014. Как это может измениться с точки зрения месяца или года?

4b9b3361

Ответ 1

Если вы используете NSWeekCalendarUnit для запуска еженедельного напоминания, замените его на NSCalendarUnitWeekOfYear:

if (days == 7) localNotif.repeatInterval = NSWeekCalendarUnit;        // deprecated
if (days == 7) localNotif.repeatInterval = NSCalendarUnitWeekOfYear;

Вы должны найти, что ваше еженедельное уведомление все еще работает правильно.

Документация Apple должна быть обновлена, чтобы дать указания относительно соответствующей замены.