致命错误:在 NSDateFormatter 上解包可选值时意外发现 nil



这是我的代码:

1.  let combinedFormatter = dateFormatter
2.  var mFormatter: NSDateFormatter!
3.  var hFormatter: NSDateFormatter!
4.  mFormatter.dateFormat = "mm"
5.  hFormatter.dateFormat = "hh"        
6.  let timeString: NSString = timeLabel.text
7.  let selectedString: NSString = dateFormatter.stringFromDate(selectedDate)
8.  var a1: Int = timeString.substringWithRange(NSMakeRange(0, 2)).toInt()!
9.  var a2: Int = selectedString.substringWithRange(NSMakeRange(0, 2)).toInt()!
10. var b1: Int = timeString.substringWithRange(NSMakeRange(3, 2)).toInt()!
11. var b2: Int = selectedString.substringWithRange(NSMakeRange(3, 2)).toInt()!

我收到致命错误:在解开可选值时意外发现 nil。我在第 4、5、8、9、10、11 行出现了此错误。我开始从 Objective-C 迁移到 Swift,所以我需要一些帮助。

您的格式化程序变量是nil的,并且必须在使用之前创建NSDateFormatter的实例。更改这些行:

2.  var mFormatter: NSDateFormatter!
3.  var hFormatter: NSDateFormatter!

自:

2.  var mFormatter: NSDateFormatter = NSDateFormatter()
3.  var mFormatter: NSDateFormatter = NSDateFormatter()

<type>!ImplicitlyUnwrappedOptional<type>的句法糖。您可以在此处阅读有关它们的更多信息。

最新更新