【发布时间】:2015-08-24 14:29:06
【问题描述】:
我想要一个每日报价的示例代码,它会在一年中的每一天获得本地通知,并给出不同的消息/报价
【问题讨论】:
标签: ios xcode swift xcode6 uilocalnotification
我想要一个每日报价的示例代码,它会在一年中的每一天获得本地通知,并给出不同的消息/报价
【问题讨论】:
标签: ios xcode swift xcode6 uilocalnotification
最好在循环中为每一天添加不同的UILocalNotificaitons,创建一个参考数据让我们说今天然后循环 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.你的应用收到一个localNotification
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
}
但在这两种情况下,您都有可能错过它们,因为这两种情况都不能保证每次都得到保证,所以每天添加不同的通知。
【讨论】: