"if times == 1 {\n\t\tdateComponentsList = [DateComponents(hour: self.startTime.hour + self.startTime.addHour,minute: self.startTime.minutes)]\n\t\tprint("hour:(startTime.hour + startTime.addHour), minute:(startTime.minutes)")\n\t} else {\n\t\t//n*(结束时间-开始时间)/(次数-1)+开始时间\n\t\t//n在0到次数-1 之间\n\t\tlet temp = Double((endTime.allMinutes - startTime.allMinutes))/Double((times-1))\n\t\t\n\t\tfor i in 0...(times-1) {\n\t\t\tlet endMinuters = Int(temp * Double(i)) + startTime.allMinutes\n\t\t\tlet hour = endMinuters/60\n\t\t\tlet minuters = endMinuters%60\n\t\t\tdateComponentsList.append(DateComponents(hour: hour,minute: minuters))\n\t\t\tprint("hour:(hour), minute:(minuters)")\n\t\t}\n\t}\n\tUNUserNotificationCenter.current().removeAllPendingNotificationRequests()\n\tvar index : NSInteger = 0\n\tfor (,dateComponents) in dateComponentsList.enumerated() {\n\t\t//设置推送内容\n\t\t//let array = isArray(snapshot?.value)\n\t\tif(self.dataArr.count == 0)\n\t\t{\n\t\t\tshowHintInfoWithString("No configuration data obtained")\n\t\t\treturn\n\t\t}else\n\t\t{\n\t\t\tif(index<self.dataArr.count)\n\t\t\t{\n\t\t\t\tlet content = UNMutableNotificationContent()\n\t\t\t\tcontent.title = APP_NAME\n\t\t\t\tcontent.body = self.dataArr[index] as! String\n\t\t\t\tcontent.sound = .default\n\t\t\t\tlet identifier = "com.reminders(Int.random(in: 0...1000000000))"\n\t\t\t\tlet trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)\n\t\t\t\tlet request = UNNotificationRequest(identifier:identifier , content: content, trigger: trigger)\n\t\t\t\tUNUserNotificationCenter.current().add(request) { error in\n\t\t\t\t\tif let error = error {\n\t\t\t\t\t\tprint("Unable to add notification : (error.localizedDescription)")\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprint("Scheduled :: ", request.identifier)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tindex += 1\n\t}\n"

iOS 通知设置代码解析:根据时间和次数设置多个通知

原文地址: https://www.cveoy.top/t/topic/qEkC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录