我想要一个每日报价的示例代码,它可以通过给定的不同消息/报价获取一年中每一天的本地通知
最佳答案
更好的办法是在循环中为每一天添加不同的 UILocalNotificaiton
,创建一个引用数据,比如说今天,然后循环 365 次,并在每次迭代中添加一天的 timeInterval 将它们注册到应用程序,诸如此类像这样
var messages:[String] = [/*Add messages here*/]
var date = NSDate()
let dayTimerInterval:NSTimeInterval = (60 * 60 * 26)
date = date.dateByAddingTimeInterval(dayTimerInterval)
for i in 0..<messages.count
{
let localNotif = UILocalNotification()
localNotif.alertBody = messages[i]
localNotif.fireDate = date
date = date.dateByAddingTimeInterval(dayTimerInterval)
UIApplication.sharedApplication().scheduleLocalNotification(localNotif)
}
还有另一种方法,您可以通过一个通知来做到这一点,当本地通知触发并且用户打开应用程序时,您可以通过获取其引用来更改其消息......但为此您需要运行应用程序。您可以通过不同的方式做到这一点
1.您的应用收到本地通知
func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification)
{
notification.alertBody = "new message"
}
您的应用程序通过本地通知启动
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
if let options = launchOptions {
// Do your checking on options here
let notif:UILocalNotification = options[UIApplicationLaunchOptionsLocalNotificationKey] as! UILocalNotification!
notif.alertBody = "new alert boxy"
}
return true
}
但是在这两种情况下,您都有可能错过它们,因为这两种情况不能每次都保证,因此每天添加不同的通知。
关于iOS本地同时通知但不同日期有不同的提醒消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32184832/