Как заменить устаревший NSWeekCalendarUnit в контексте UILocalNotification?
В iOS 7.0 NSWeekCalendarUnit
устарел. В документации говорится, что необходимо заменить:
Используйте NSCalendarUnitWeekOfMonth или NSCalendarUnitWeekOfYear, в зависимости от на котором вы имеете в виду
Я использую NSWeekCalendarUnit
для еженедельных напоминаний, какой я должен выбрать для получения того же значения? Я не понимаю разницы между NSCalendarUnitWeekOfMonth
и NSCalendarUnitWeekOfYear
.
Кто-то задал тот же вопрос здесь, на SO, без убедительного ответа.
Это довольно запутанно. Next week
в моем понимании атома. Сегодня Sun 30 March 2014
. Следовательно, Next week
всегда будет Sun 6 March 2014
. Как это может измениться с точки зрения месяца или года?
Ответы
Ответ 1
Если вы используете NSWeekCalendarUnit для запуска еженедельного напоминания, замените его на NSCalendarUnitWeekOfYear:
if (days == 7) localNotif.repeatInterval = NSWeekCalendarUnit; // deprecated
if (days == 7) localNotif.repeatInterval = NSCalendarUnitWeekOfYear;
Вы должны найти, что ваше еженедельное уведомление все еще работает правильно.
Документация Apple должна быть обновлена, чтобы дать указания относительно соответствующей замены.