我正在开发一款iPhone应用程序,需要在每个工作日的给定时间显示通知。我通过安排一个UILocalNotification来完成这个,它的repeatInterval属性设置为kCFCalendarUnitWeekday。
问题是节假日不应出现警报。我有一个在我的应用程序的配置文件中维护的10个假期的列表。有没有办法阻止这些日子显示通知?当应用程序在前台或后台运行时,应该显示此通知,最好在关闭时显示,但我认为我可以接受应用程序关闭时不显示该应用程序。
答案 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 属性与任何这些值一起使用。但是,如果您希望通知在“每两天”或某些不规则的时间间隔内重复,则必须为每个提醒创建单独的通知。