Qual è il modo preferito per verificare se un optional ha un valore senza usarlo?

2

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é?

    
posta Ben Leggiero 23.09.2016 - 20:52
fonte

1 risposta

1

Non penso che ci sia qualcosa in particolare di Swifty riguardo al primo metodo.

Vorrei andare con il secondo approccio.

  1. Penso che il secondo sia più comprensibile, specialmente per i nuovi studenti di lingue, per i quali la sintassi if let è estranea.
  2. Il secondo approccio può essere negato. if x != nil può diventare if x == nil con un singolo cambio di carattere, ma non c'è nulla di simile nel caso if let _ = x .
risposta data 30.04.2017 - 07:19
fonte

Leggi altre domande sui tag