ios - 我收到一个警告,将我的 OPTIONAL 值与 not-nil 进行比较将始终返回 true
问题描述
我已将名为“JournalEntry”的类型声明为可选类型并将其设置为 nil。然后,当 VC 加载时,我测试以确保在尝试使用对象之前已注入该对象,但我收到一条错误消息,提示“将 'JournalEntry' 类型的非可选值与 nil 进行比较总是返回 true”。
但我将其设置为可选并且为零...
这是代码:
class AddJournalEntryVC: UIViewController, UITextViewDelegate {
var willEdit:Bool?
var entryForEdit:JournalEntry? = nil
override func viewDidLoad() {
super.viewDidLoad()
if isEditing {
guard let entry = entryForEdit, entry != nil else{ //Comparing non-optional value of type 'JournalEntry' to nil always returns true
return
}
dateLabel.text = entry.dateString!
timeLabel.text = entry.timeString!
timestamp = entry.timestamp!
}
}
我的想法哪里出错了?谢谢你。
解决方案
只需删除该entry != nil
子句,它就会按您的需要工作。执行它的if let
语句已经执行了非零检查。
guard let entry = entryForEdit else {
return
}
推荐阅读
- android-jetpack-compose - jetpack compose 中的 textAllCaps
- python - 当同一日期有共同标识符时,Python脚本总结行
- reactjs - 在获取请求中使用 Azure AD B2C(Google 登录响应)从 React App 中点击 Azure Functions(Google 身份验证安全)以获取令牌
- python - 尝试使用python比较两个文本文件
- python - “GPIBInstrument”对象没有“询问”属性
- javascript - 如何在 NextJS 的变量中缓存某些内容?
- r - filling missing values with mean/max of previous 16 days values
- android - android camera2 API - 如何将缩小设置为超宽
- python - 熊猫枢轴使用列作为后缀
- sharepoint - 我想从 nextcloud 切换到 sharepoint 或 onedrive