Quale di questi è il modo ideale per verificare se esiste un valore senza preoccuparsi esattamente del suo valore?
if let _ = flags[.showField] { showField() }
if flags[.showField] != nil { showField() }
Nel primo caso, sembra più Swift-y usare if let _ =
e futureproof it (Posso immaginare un futuro in cui Apple dice che devi chiedere l'opzionale se ha un valore invece di confrontare a nil
). Inoltre, se torni a modificare il codice e trovi che ti serve il valore, puoi semplicemente sostituire _
con un nome.
Nel secondo caso, si legge in modo più naturale ed è riflessivo con if x == nil
in un modo in cui if let _ =
non lo è.
Uno di questi è preferito rispetto all'altro? In tal caso, quali e perché?