在iOS中按用户选择的周数安排本地通知
用例是有一个表单,用户可以说:我希望在X天(例如周一、周五和周日)14:00收到通知。应用程序是react native,但我只是调用一个native swift函数来安排通知: <代码>导入基础 导入用户通知 @objc(提醒) 类提醒:NSObject{ @objc func设置提醒( _消息:NSString, daysV days:NSArray, 小时:NSInteger, 分钟 ) { //我们将完全替换所有计划通知 UnuseNotificationCenter.current()。removeAllPendingNotificationRequests() //为过去的每一天创建通知 let daysC:[Int]=days.map{$0 as!Int} 日复一日{ var date=DateComponents() date.weekday=天 date.hour=小时 date.minute=分钟 let content=UNMutableNotificationContent() content.title=“提醒” content.body=消息作为字符串 让userCalendar=Calendar(标识符:.iso8601) 让dateTime=userCalendar.date(from:date) 让triggerDate=Calendar.current.dateComponents([.weekday、.hour、.minute],from:dateTime as!Date) let trigger=UNCalendarNotificationTrigger(日期匹配:triggerDate,重复:true) let identifier=“TMWTE\(天)” let request=UNNotificationRequest(标识符:标识符,内容:内容,触发器:触发器) let center=UNUserNotificationCenter.current() 添加(请求,withCompletionHandler:{(错误)在 如果let error=error{ 打印(错误); } }) } } } 我想做的是将每个工作日都包含在JS发送的列表中,并为其安排一个通知。因此,如果用户选择星期一和星期三,数组将是在iOS中按用户选择的周数安排本地通知,ios,swift,react-native,notifications,Ios,Swift,React Native,Notifications,用例是有一个表单,用户可以说:我希望在X天(例如周一、周五和周日)14:00收到通知。应用程序是react native,但我只是调用一个native swift函数来安排通知: 导入基础 导入用户通知 @objc(提醒) 类提醒:NSObject{ @objc func设置提醒( _消息:NSString, daysV days:NSArray, 小时:NSInteger, 分钟 ) { //我们将完全替换所有计划通知 UnuseNotificationCenter.current()。rem
[1,3]
,我将分别为每天安排通知
然而,实际发生的是,我在第一天就收到X个通知。因此,如果用户选择all days,那么在接下来的triggerDate
中,我将收到7个通知
作为Swift的新手,我可能在做一些非理性的事情,但目前我还无法理解。现在我还尝试将date.day
设置为下周六、周日等。。但这导致没有显示通知,这让我觉得我缺少一些基本的东西
谢谢