Я получаю предупреждение, сравнивая мое ДОПОЛНИТЕЛЬНОЕ значение с not-nil, которое всегда возвращает true - PullRequest
0 голосов
/ 24 мая 2018

Я объявил тип с именем "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!
        }
    }

Где мое мышление пошло не так?Спасибо.

1 Ответ

0 голосов
/ 24 мая 2018

Просто удалите предложение entry != nil, и оно будет работать так, как вам нужно.Оператор if let, выполняющий его, уже выполняет проверку not-nil.

guard let entry = entryForEdit else {
    return
}
...