我收到一个警告,比较我的OPTIONAL值和not-nil将始终返回true

时间:2018-05-24 15:12:31

标签: ios swift optional

我已将一个名为“JournalEntry”的类型声明为可选类,并将其设置为nil。然后当VC加载我测试以确保在尝试使用它之前已经注入了对象,但是我得到一个错误,上面写着“比较类型'JournalEntry'的非可选值到nil总是返回true”。

但是我把它设置为可选的并且为nil ...

以下是代码:

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!
        }
    }

我的想法出了什么问题?谢谢。

1 个答案:

答案 0 :(得分:0)

只需删除entry != nil子句,它就会按您的要求运行。进行它的if let语句已经执行了非零检查。

guard let entry = entryForEdit else {
    return
}