Ich verwende Xcode 6 Beta 4. Ich habe diese seltsame Situation, in der ich nicht herausfinden kann, wie ich angemessen auf Optionen testen kann.
Wenn ich ein optionales xyz habe, ist dies der richtige Weg zum Testen:
if (xyz) // Do something
oder
if (xyz != nil) // Do something
In den Dokumenten wird angegeben, dass dies auf die erste Art und Weise geschehen soll, aber ich habe festgestellt, dass manchmal die zweite Methode erforderlich ist und keinen Compilerfehler generiert. In anderen Fällen generiert die zweite Methode einen Compilerfehler.
Mein spezielles Beispiel ist die Verwendung des GData-XML-Parsers, der schnell überbrückt wird:
let xml = GDataXMLDocument(
XMLString: responseBody,
options: 0,
error: &xmlError);
if (xmlError != nil)
Hier, wenn ich es nur getan hätte:
if xmlError
es würde immer wahr zurückgeben. Wenn ich es jedoch tue:
if (xmlError != nil)
dann funktioniert es (wie es in Objective-C funktioniert).
Gibt es etwas mit GData XML und der Art und Weise, wie Optionen behandelt werden, die mir fehlen?