ios - 在 Xcode 11.4 和 Swift 中检查 Nil 时出错
问题描述
我正在尝试创建一个应用程序,它会根据您插入文本字段的开始时间每小时通知您一次。我有一个 if 语句检查文本字段的值是否为零,如果文本字段为零,则输入一些默认通知时间。但是,我收到错误“在展开可选值时意外发现 nil”。我不确定为什么会这样。我是 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
}
推荐阅读
- html - 在图像悬停时,覆盖原始图像并显示文本
- javascript - Teamasys skylink-webrtc Web 集成解决音频和视频呼叫控制台问题
- jquery - 将参数传递给按钮单击到另一个按钮单击-Jquery
- javascript - Javascript Randomizer重复所有切片?
- javascript - Vue 的 ref 每次使用时都会执行一次 DOM 查找吗?
- android - 如何检索 CountryCode / ISO?
- java - 在 Java 项目的 intellij idea 中创建工件和执行 jar 文件时出错
- java - Salesforce - Apex 类/触发器不允许 3 个连续字符
- python - 从 .osm 文件中绘制未排序的方式/区域的节点引用
- ios - 替换 App Store 中应用的通配符签名证书和配置文件