Sto usando Xcode 6 Beta 4. Ho questa strana situazione in cui non riesco a capire come testare adeguatamente gli opzionali.
Se ho un xyz opzionale, è il modo corretto di testare:
if (xyz) // Do something
o
if (xyz != nil) // Do something
I documenti dicono di farlo nel primo modo, ma ho scoperto che a volte è necessario il secondo modo e non genera un errore del compilatore, ma altre volte il secondo modo genera un errore del compilatore.
Il mio esempio specifico sta usando il parser XML GData collegato a swift:
let xml = GDataXMLDocument(
XMLString: responseBody,
options: 0,
error: &xmlError);
if (xmlError != nil)
Ecco, se ho appena fatto:
if xmlError
ritornerebbe sempre vero. Tuttavia, se lo faccio:
if (xmlError != nil)
quindi funziona (come funziona in Objective-C).
C'è qualcosa con l'XML di GData e il modo in cui tratta gli optionals che mi mancano?