如何使用各种警报正文重复UILocalNotification?
例如:
UILocalNotification *notif = [[UILocalNotification alloc] init];
notif.alertBody = @"Hello";
notif.repeatInterval = NSDayCalendarUnit;
[[UIApplication sharedApplication] scheduleLocalNotification:notif];
通过使用此代码,通知将每天重复,我如何每天与不同的警报机构重复通知?
感谢。
答案 0 :(得分:1)
您可以在AppDelegate中实现application:didReceiveLocalNotification
方法,并增加'day counter'变量。然后,为通知的警报正文安排一个新的UILocalNotification
字符串数组。使用日期计数器获取更新的字符串。这是一些示例代码:
在AppDelegate.h中:
@property (assign, nonatomic) int dayCount;
在你的AppDelegate.m中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[self scheduleLocalNotification];
return YES;
}
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{
self.dayCount++;
[self scheduleLocalNotification];
}
-(void)scheduleLocalNotification{
NSArray *notifTextArray = [NSArray arrayWithObjects:@"Hello", @"Welcome", @"Hi there", nil];
UILocalNotification *notif = [[UILocalNotification alloc] init];
if(self.dayCount < notifTextArray.count){
notif.alertBody = [notifTextArray objectAtIndex:self.dayCount];
}
else{
self.dayCount = 0;
notif.alertBody = [notifTextArray objectAtIndex:self.dayCount];
}
notif.fireDate = [NSDate dateWithTimeIntervalSinceNow:86400]; //86400 seconds in a day
[[UIApplication sharedApplication] scheduleLocalNotification:notif];
}
只是一个选项,但希望它有所帮助。
答案 1 :(得分:0)
安排本地通知后,您也无法更改通知和警报正文的任何属性。
您可能必须取消旧通知并重新安排新通知才能实现此目的。