作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基本上,我需要一个每隔星期一运行一次通知的应用程序。我拥有的是一个每个星期一运行通知的应用程序。有没有办法进行设置,以便在收到第一个通知时,应用程序将开始两周的时间间隔,再次运行通知并重复?例如,如果我有一个名为“week”的变量,并且每隔一周在“1”和“2”之间交替,我如何将其标记到通知的触发器?
func notification(hour: Int, minute: Int, weekday: Int, text: String){
let content = UNMutableNotificationContent()
content.title = "Example"
content.body = text
content.sound = UNNotificationSound.default()
let trigger = UNCalendarNotificationTrigger(dateMatching: DateComponents(hour: hour, minute: minute, weekday: weekday), repeats: true)
let request = UNNotificationRequest(identifier: text, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
notification(hour: 12, minute: 0, weekday: 2, text: "Test")
}
最佳答案
您不能对重复通知执行此操作。唯一的方法是使用不重复的通知并提前在给定时间(在您的情况下是星期一)设置它们 - 例如,创建一个 for 循环,在接下来的 10 个星期一设置单个通知 - 您必须手动计算循环中所有这些的触发时间。
限制是您不能将它们设为不定式 - 但如果用户不会对这 10 个通知使用react,那么您以后使用它们的可能性非常小 - 至少从我的经验来看是这样。
最好的方法是在每次用户关闭应用程序时设置这些通知 - 例如,如果我们在第 5 个星期一打开应用程序,您应该清理所有通知并再次设置下一组 10 个通知。
关于ios - 如何在一周中的特定一天但每隔一周运行一次通知(Swift + Xcode)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52132189/
我是一名优秀的程序员,十分优秀!