Używam Xcode 6 Beta 4. Mam dziwną sytuację, w której nie mogę dowiedzieć się, jak odpowiednio przetestować opcje.
Jeśli mam opcjonalny xyz, to właściwy sposób na przetestowanie:
if (xyz) // Do something
lub
if (xyz != nil) // Do something
Dokumenty mówią, że należy to zrobić w pierwszy sposób, ale odkryłem, że czasami drugi sposób jest wymagany i nie generuje błędu kompilatora, ale czasami drugi sposób generuje błąd kompilatora.
Mój konkretny przykład to użycie parsera GData XML zmostkowanego do Swift:
let xml = GDataXMLDocument(
XMLString: responseBody,
options: 0,
error: &xmlError);
if (xmlError != nil)
Tutaj, gdybym właśnie to zrobił:
if xmlError
zawsze zwracała prawdę. Jeśli jednak:
if (xmlError != nil)
wtedy to działa (tak jak to działa w Objective-C).
Czy jest coś w GData XML i sposobie, w jaki traktuje opcje, których mi brakuje?