Необязательным может быть nil
. Все остальное никогда не может быть nil
. Any
не является необязательным. Таким образом, нет смысла сравнивать Any
с nil
. Тест никогда не преуспеет.
Если вы знаете, что это могут быть опции, вы должны были ввести это как Any?
. Это необязательно и можно сравнить с nil
. Вот простой пример:
let s : String? = nil
let any : Any? = s
if any == nil {
print("nil") // nil
}
Как вы можете видеть, тест преуспевает.
(Тем не менее, если было бы возможно, было бы еще лучше точно напечатать вещи. )