【发布时间】:2016-01-30 16:21:51
【问题描述】:
我有一门课程,我正在尝试设置开始和结束日期:
class Dates {
var beginDateTime = NSDate()
var endDateTime = NSDate()
}
在我的视图控制器中,我创建了它的一个实例:
var dates: Dates!
我还有两个日期选择器:
@IBOutlet weak var datePicker1: UIDatePicker!
@IBOutlet weak var datePicker2: UIDatePicker!
然后当尝试在导航序列中设置这些时间时...
dates.beginDateTime = datePicker1.date
dates.endDateTime = datePicker2.date
我明白了:
致命错误:在展开可选值时意外发现 nil
这里没有可选值...我不明白。日期已定。为什么我会收到此错误?这里没有零值。我什至在 print(datePicker1.date) 命令中对它们进行了测试,它们是确定的。
事实上,我在这里的函数中有附加代码,可以在 viewDidLoad 上以编程方式为用户设置日期,效果很好:
func setDatePicker(datePicker: UIDatePicker) {
datePicker.minimumDate = NSDate()
let calendar:NSCalendar = NSCalendar.currentCalendar()
let components = calendar.components([NSCalendarUnit.Year, NSCalendarUnit.Month, NSCalendarUnit.Day, NSCalendarUnit.Hour, NSCalendarUnit.Minute], fromDate: NSDate())
if count > 0 {
components.hour = 23
components.minute = 30
} else {
components.hour = 19
components.minute = 00
}
let date = calendar.dateFromComponents(components)!
datePicker.setDate(date, animated: true)
count++
}
【问题讨论】:
标签: ios datepicker swift2