ios - 如何更改每日通知中的文本?

标签 ios swift notifications

我有一个每日通知,提醒用户使用该应用程序。我希望文本不是静态的。我说了 5 个不同的字符串,如果可能的话,我希望随机选择字符串。

我当前的代码,每天都使用相同的文本:

   let date: NSDate = NSDate()
    let cal: NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)!

    let newDate: NSDate = cal.dateBySettingHour(22, minute: 00, second: 0, ofDate: date, options: NSCalendarOptions())!


    var localNotification: UILocalNotification = UILocalNotification()
    localNotification.alertAction = "MyApp"
    localNotification.alertBody = "Call to action text"
    localNotification.fireDate = newDate
    localNotification.repeatInterval = NSCalendarUnit.CalendarUnitDay
    UIApplication.sharedApplication().scheduleLocalNotification(localNotification)

最佳答案

您可以根据星期几使用 switch 语句。这是 excellent NSHipster tutorial on NSDate components 。这是一些sample code回复:如何从 NSDate 中提取一周中的某一天:

func getDayOfWeek(today:String)->Int {

    let formatter  = NSDateFormatter()
    formatter.dateFormat = "yyyy-MM-dd"
    let todayDate = formatter.dateFromString(today)!
    let myCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
    let myComponents = myCalendar.components(.CalendarUnitWeekday, fromDate: todayDate)
    let weekDay = myComponents.weekday
    return weekDay
}

let weekday = getDayOfWeek("2014-08-27")
println(weekday) // 4 = Wednesday

Here's Apple's documentation对于 switch 语句。

基本上,您需要创建一个方法,将 NSDate 作为输入并输出一周中的某一天。获得星期几后,您可以在 switch 语句中创建自定义消息。

关于ios - 如何更改每日通知中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32576550/

相关文章:

javascript - JS - iOS 上的 Safari - 如何获取视口(viewport)比例属性

ios - 如何使用 Turbolinks-ios 打开链接的 pdf

swift - 检查一个类型是否实现了一个协议(protocol)

ios - 子类化 UIButton 并覆盖触摸事件 - 不起作用

ios - 在 Swift 中比较时间

ios - 我的 UIButton 的位置在所有模拟器中都不同

ios - 将 CKServerChangeToken 保存到核心数据

iphone - 如何发布和接收 NSNotifications( objective-c ) |通知(Swift 中)?

java - 如何使用电话号码从 Android 应用程序向另一台 Android 设备发送通知?

teamcity - 在 TeamCity 5.1 通知中显示文件更改