Ios 致命错误:在NSDateFormatter上展开可选值时意外发现nil
这是我的密码:Ios 致命错误:在NSDateFormatter上展开可选值时意外发现nil,ios,swift,Ios,Swift,这是我的密码: 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. le
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,所以我需要一些帮助。您的格式化程序变量为零,必须先创建NSDateFormatter实例,然后才能使用。更改这些行:
2. var mFormatter: NSDateFormatter!
3. var hFormatter: NSDateFormatter!
致:
!!是隐式修饰的语法糖。你可以阅读更多关于他们的信息。@Zaph:你完全错了。首先,它被称为隐式展开。你的评论是毫无意义的,因为两种可选类型都用来表示nil。第8-11行是隐式展开吗?
2. var mFormatter: NSDateFormatter = NSDateFormatter()
3. var mFormatter: NSDateFormatter = NSDateFormatter()