gpt4 book ai didi

ios - NSLocalNotification 重复。开除。合适的方式

转载 作者:行者123 更新时间:2023-11-28 09:34:29 25 4
gpt4 key购买 nike

我想在上午 10 点创建每日通知,其中包含每天不同的内容。

func createNotification() {

let dateComp:NSDateComponents = NSDateComponents()
dateComp.hour = 10; // supposed to run each day at 10AM

var myCalendar:NSCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
var date:NSDate = myCalendar.dateFromComponents(dateComp)!

let localNotification = UILocalNotification()
localNotification.fireDate = date
localNotification.alertBody = getContentStringForNotification() // Method returns different string for each date
localNotification.repeatInterval = .Day // Repeats every day
localNotification.timeZone = NSTimeZone.defaultTimeZone()
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)

}

它重复通知。他们甚至不断重复和返回昨天的通知。我搜索了 Stack Community 问题,但没有找到正确的方法来解决它们。

据我了解:

  • 应用程序已终止,它们的计划和行为独立于应用程序。重复运行应用会产生更多通知。
  • 通知没有被正确关闭,它们返回昨天的消息甚至第二天。

帮助:

  1. 解雇他们或检查他们是否已被解雇的正确方法是什么已经(确保他们不重复
  2. 我是循环并为每一天创建一整年的通知,还是在每次运行应用程序时为明天创建一个新通知

我错过了什么?代码欢迎。谢谢!

最佳答案

localNotification.repeatInterval = .Day // Repeats every day

这会使通知自动安排在每一天,因此如果您想显示相同的通知(时间和内容),则不应安排新的通知。

如果你想重新安排通知,首先清除所有以前安排的本地通知或阅读文档了解如何清除单个 UILocalNotification

UIApplication.sharedApplication().cancelAllLocalNotifications()

关于ios - NSLocalNotification 重复。开除。合适的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35040033/

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