UILocalNotification,每个工作日重复,节假日除外

时间:2011-08-31 16:40:37

标签: iphone ios uikit

我正在开发一款iPhone应用程序,需要在每个工作日的给定时间显示通知。我通过安排一个UILocalNotification来完成这个,它的repeatInterval属性设置为kCFCalendarUnitWeekday。

问题是节假日不应出现警报。我有一个在我的应用程序的配置文件中维护的10个假期的列表。有没有办法阻止这些日子显示通知?当应用程序在前台或后台运行时,应该显示此通知,最好在关闭时显示,但我认为我可以接受应用程序关闭时不显示该应用程序。

1 个答案:

答案 0 :(得分:1)

我从这篇文章中复制了这个答案:https://stackoverflow.com/posts/7257168/edit但是还记得这个问题。它也回答了你的问题

repeatInterval属性可以看出,您只能指定预定义的日历单位。

enum {
   NSEraCalendarUnit = kCFCalendarUnitEra,
   NSYearCalendarUnit = kCFCalendarUnitYear,
   NSMonthCalendarUnit = kCFCalendarUnitMonth,
   NSDayCalendarUnit = kCFCalendarUnitDay,
   NSHourCalendarUnit = kCFCalendarUnitHour,
   NSMinuteCalendarUnit = kCFCalendarUnitMinute,
   NSSecondCalendarUnit = kCFCalendarUnitSecond,
   NSWeekCalendarUnit = kCFCalendarUnitWeek,
   NSWeekdayCalendarUnit = kCFCalendarUnitWeekday,
   NSWeekdayOrdinalCalendarUnit = kCFCalendarUnitWeekdayOrdinal
   NSQuarterCalendarUnit = kCFCalendarUnitQuarter,
};

因此,如果您希望在上述任何一个时间间隔内重复通知,则可以将 repeatInterval 属性与任何这些值一起使用。但是,如果您希望通知在“每两天”或某些不规则的时间间隔内重复,则必须为每个提醒创建单独的通知。