在一周的某些天重复UILocalNotification

时间:2011-05-09 14:46:39

标签: ios cocoa-touch uilocalnotification

我想将UILocalNotification的重复间隔自定义为一周中的某些天。我还没有找到任何相关信息。

如何为一周中某些天的通知编制重复间隔,例如,在星期日,星期一和星期五重复通知?

2 个答案:

答案 0 :(得分:4)

很遗憾,您无法将repeatInterval的{​​{1}}属性设置为仅在特定日期重复。您可以设置每天(每天),每月(每月)或每小时(每小时)重复一次。因此,对于您的问题唯一可行的解​​决方案是,如果您想在星期日,星期一和星期二设置闹钟,那么您必须设置3个闹钟(星期日,星期一和星期二各一个),而不是一个闹钟。

答案 1 :(得分:0)

如果您需要自定义repeatInterval属性。您必须在指定时间设置每个UILocalNotification。这是我的代码。


    void (^insertAlarm)(NSDate*fire,NSString*sound,int alarmCount) = ^(NSDate*fire,NSString*sound,int alarmCount){
        UILocalNotification* notification = [[UILocalNotification alloc] init];
        notification.timeZone = [NSTimeZone defaultTimeZone];
        notification.soundName = sound;
        notification.fireDate = fire;
        notification.repeatInterval = 0;
        notification.alertLaunchImage = IMG;
        notification.alertAction = ACTION_MSG;        
        notification.alertBody = BODY;
        notification.applicationIconBadgeNumber = 1;
        [[UIApplication sharedApplication] scheduleLocalNotification:notification];
        [notification release];
    };

    insertAlarm(date,sound.fileName,0);
    insertAlarm([date dateByAddingTimeInterval:60],sound.fileName,1);