致命错误:在解包可选值时意外发现nil
触发此错误的例程是:
// Calculate Timer Offset
let tz = NSTimeZone(name: inputTimeZone)
if tz!.isDaylightSavingTimeForDate(newDate!) {
inputTimeOffset = inputTimeOffset + inputDayLightSaving
}
当DayLightSaving改变时(newDate!/ March 3月)。 inputTimeOffset和inputDayLightSaving都具有值3600。
答案 0 :(得分:1)
您收到的错误("在展开“可选”值时出现意外的错误")表示您正在进行不适当的展开。
尝试将代码更改为:
// Calculate Timer Offset
if let unwrappedDate = newDate as? NSDate
{
if let tz = NSTimeZone(name: inputTimeZone)
{
if tz.isDaylightSavingTimeForDate(unwrappedDate) {
inputTimeOffset = inputTimeOffset + inputDayLightSaving
}
} else {
print("why is time zone null? is \(inputTimeZone) invalid?")
}
} else {
print("suprise! newDate is nil")
}