如何在UILocalNotification的上下文中替换已弃用的NSWeekCalendarUnit?

时间:2014-03-30 13:19:47

标签: ios date ios7 uilocalnotification

在iOS 7.0中,NSWeekCalendarUnit已被弃用。文档说它必须被替换:

  

使用NSCalendarUnitWeekOfMonth或NSCalendarUnitWeekOfYear,具体取决于   你的意思是

我正在使用NSWeekCalendarUnit进行每周提醒,我必须选择哪一个才能获得相同的含义?我不明白NSCalendarUnitWeekOfMonthNSCalendarUnitWeekOfYear之间的区别。

在没有令人信服的答案的情况下,有人在SO上问了同样的question

令人困惑。 Next week在我理解中是原子的。今天是Sun 30 March 2014。因此Next week始终为Sun 6 March 2014。这怎么可能从一个月或一年的角度改变?

1 个答案:

答案 0 :(得分:22)

如果您使用NSWeekCalendarUnit触发每周提醒,请将其替换为NSCalendarUnitWeekOfYear:

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

您应该会发现每周通知仍然有效。

应更新Apple的文档,以提供适当替换的指导。