当我在localNotification中解包字符串数组时,为什么它返回nil?

时间:2016-05-26 16:52:05

标签: ios swift uilocalnotification

  notificationTime = [“2016-05-26 16:27:17 +0000”,“2016-05-24 13:29:37 +0000”]
 var num = 0
 func locaNotification(num:Int)
 {
 let dateFormatter = NSDateFormatter()
 dateFormatter.locale = NSLocale.currentLocale()
 dateFormatter.dateStyle = NSDateFormatterStyle.FullStyle

 var dateAsString = notificationTime [num]
 dateFormatter.dateFormat =“yyyy-MM-dd HH:mm”
 var newDate = dateFormatter.dateFromString(dateAsString)!
  




它在这里打开时返回nil,newDate = nil在前一行之后代码!




  var arr = UIApplication.sharedApplication()。scheduledLocalNotifications
 for localN:arr!中的UILocalNotification
 {
 var notificationFireDate:NSDate = localN.fireDate!
 if notificationFireDate == newDate
 {
 。UIApplication.sharedApplication()cancelLocalNotification(localN)
 }
 }
}
  



2 个答案:

答案 0 :(得分:0)

你的问题是" yyyy-MM-dd HH:mm"不对,你可以看到这个网站http://nsdateformatter.com/

我认为你的字符串" 2016-05-26 16:27:17 + 0000"需要" 2016-05-26T16:27:17 + 0000"你的格式必须是" yyyy-MM-dd' HH:mm:ssZ",我希望这能帮到你

答案 1 :(得分:0)

您在日期格式化程序中指定的日期格式是错误的。它与notificationTime数组中的日期不匹配。 您可以尝试以下格式:yyyy-MM-dd HH:mm:ssZ作为您的日期格式。