gpt4 book ai didi

iphone - 如何在 iphone 中设置选定日期的闹钟?

转载 作者:可可西里 更新时间:2023-11-01 05:46:48 25 4
gpt4 key购买 nike

我想为一周中选定的几天设置闹钟。

它可能是工作日(周一、周二、周三、周四或周五)、周末(周六、周日)或每天。

我如何使用本地通知来做到这一点?

最佳答案

如果你有时间必须每天触发通知,你应该这样做

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
for (NSMutableArray * arrDay in self.namaztimes) {
NSLog(@"Alarm Array: %@", arrDay);
int count=[arrDay count];
if(!count){
continue;
}

int day =0;
int month=0;
int year=0;
int hour =0;
int minutes=0;

// NSArray *arrDates=[[NSMutableArray alloc] initWithCapacity:1];
for ( int i=0;i<3;i++) {
NSString * dayTime=[arrDay objectAtIndex:i ];
if (i==0) {
day = [dayTime intValue];
}else if(i==1){
month = [dayTime intValue];
}else if(i==2){
year = [dayTime intValue];

}
}
for ( int i=3;i<count;i++) {
NSString * dayTime=[arrDay objectAtIndex:i ];
hour = [[dayTime substringToIndex:2] intValue];
minutes = [[dayTime substringFromIndex:3] intValue];

[components setDay:day];
[components setMonth:month];
[components setYear:year];
[components setMinute:minutes];
[components setHour:hour];


NSDate *myNewDate = [calendar dateFromComponents:components];

[self scheduleNotificationForDate:myNewDate];

}
}

[components release];
[calendar release];

然后从这里连接到主要的通知触发方法
[self scheduleNotificationForDate:myNewDate];

-(void) scheduleNotificationForDate: (NSDate*)date {
/* Here we cancel all previously scheduled notifications */
[[UIApplication sharedApplication] cancelAllLocalNotifications];
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = date;
NSLog(@"Notification will be shown on: %@ ",localNotification.fireDate);

localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.alertBody = @"Your Notification Text"; //[NSString stringWithFormat:@"%@",date];
localNotification.alertAction = NSLocalizedString(@"View details", nil);

/* Here we set notification sound and badge on the app's icon "-1"
means that number indicator on the badge will be decreased by one
- so there will be no badge on the icon */

localNotification.repeatInterval = NSDayCalendarUnit;
localNotification.soundName = UILocalNotificationDefaultSoundName;
localNotification.applicationIconBadgeNumber = -1;

[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}

关于iphone - 如何在 iphone 中设置选定日期的闹钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10780517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com