在 Xcode 11.4 和 Swift 中检查 Nil 时出错
Error When Checking For Nil in Xcode 11.4 and Swift
我正在尝试创建一个应用程序,它会根据您在文本字段中插入的开始时间每小时通知您一次。我有一个 if 语句来检查文本字段的值是否为 nil,如果文本字段为 nil,则输入一些默认通知时间。但是,我收到错误 "Unexpectedly found nil while unwrapping an Optional value"。我不确定为什么会这样。我是 Xcode 和一般编码方面的初学者,所以如果这个问题有明显的解决方案,我深表歉意。
代码如下:
注意:文本字段的标题为 HourOneHourlyUN 和 MinuteOneHourlyUN
if HourOneHourlyUN == nil || MinuteOneHourlyUN == nil {
dateComponents1.hour = 9
dateComponents1.minute = 00
dateComponents2.hour = 10
dateComponents2.minute = 00
dateComponents3.hour = 11
dateComponents3.minute = 00
dateComponents4.hour = 12
dateComponents4.minute = 00
dateComponents5.hour = 13
dateComponents5.minute = 00
dateComponents6.hour = 14
dateComponents6.minute = 00
} else {
dateComponents1.hour = Int(HourOneHourlyUN.text!)
dateComponents1.minute = Int(MinuteOneHourlyUN.text!)
dateComponents2.hour = Int(HourOneHourlyUN.text!)! + 1
dateComponents2.minute = Int(MinuteOneHourlyUN.text!)
dateComponents3.hour = Int(HourOneHourlyUN.text!)! + 2
dateComponents3.minute = Int(MinuteOneHourlyUN.text!)
dateComponents4.hour = Int(HourOneHourlyUN.text!)! + 3
dateComponents4.minute = Int(MinuteOneHourlyUN.text!)
dateComponents5.hour = Int(HourOneHourlyUN.text!)! + 4
dateComponents5.minute = Int(MinuteOneHourlyUN.text!)
dateComponents6.hour = Int(HourOneHourlyUN.text!)! + 5
dateComponents6.minute = Int(MinuteOneHourlyUN.text!)
}
提前致谢!
您正在检查文本字段是否为空,而不是检查文本字段中包含的文本是否为空。
您必须更正第一个,如下所示
if HourOneHourlyUN.text == nil || MinuteOneHourlyUN.text == nil {
// Code
}
我正在尝试创建一个应用程序,它会根据您在文本字段中插入的开始时间每小时通知您一次。我有一个 if 语句来检查文本字段的值是否为 nil,如果文本字段为 nil,则输入一些默认通知时间。但是,我收到错误 "Unexpectedly found nil while unwrapping an Optional value"。我不确定为什么会这样。我是 Xcode 和一般编码方面的初学者,所以如果这个问题有明显的解决方案,我深表歉意。
代码如下:
注意:文本字段的标题为 HourOneHourlyUN 和 MinuteOneHourlyUN
if HourOneHourlyUN == nil || MinuteOneHourlyUN == nil {
dateComponents1.hour = 9
dateComponents1.minute = 00
dateComponents2.hour = 10
dateComponents2.minute = 00
dateComponents3.hour = 11
dateComponents3.minute = 00
dateComponents4.hour = 12
dateComponents4.minute = 00
dateComponents5.hour = 13
dateComponents5.minute = 00
dateComponents6.hour = 14
dateComponents6.minute = 00
} else {
dateComponents1.hour = Int(HourOneHourlyUN.text!)
dateComponents1.minute = Int(MinuteOneHourlyUN.text!)
dateComponents2.hour = Int(HourOneHourlyUN.text!)! + 1
dateComponents2.minute = Int(MinuteOneHourlyUN.text!)
dateComponents3.hour = Int(HourOneHourlyUN.text!)! + 2
dateComponents3.minute = Int(MinuteOneHourlyUN.text!)
dateComponents4.hour = Int(HourOneHourlyUN.text!)! + 3
dateComponents4.minute = Int(MinuteOneHourlyUN.text!)
dateComponents5.hour = Int(HourOneHourlyUN.text!)! + 4
dateComponents5.minute = Int(MinuteOneHourlyUN.text!)
dateComponents6.hour = Int(HourOneHourlyUN.text!)! + 5
dateComponents6.minute = Int(MinuteOneHourlyUN.text!)
}
提前致谢!
您正在检查文本字段是否为空,而不是检查文本字段中包含的文本是否为空。 您必须更正第一个,如下所示
if HourOneHourlyUN.text == nil || MinuteOneHourlyUN.text == nil {
// Code
}