Каждый раз, когда вы выбираете элемент из словаря с использованием подписки, результатом будет Optional
, поскольку используемый вами ключ может быть не найден.Sh_Khan дал вам хорошее элегантное решение: (проголосовало)
return dialog_dict[one]?.contains(two) == true
Это работает, потому что nil не равно true, но компилятор развернет его и проверит значение внутри, чтобы увидеть, равно ли оно true, если это не nil,Поэтому, если результат dialog_dict[one]
равен нулю или ложен, он не равен истине.Только если dialog_dict
содержит значение для ключа one
и это значение true
, выражение возвращает true
.