Я використовую Xcode 6 Beta 4. У мене є така дивна ситуація, коли я не можу зрозуміти, як належним чином перевірити додаткові можливості.
Якщо у мене є необов'язковий xyz, це правильний спосіб перевірки:
if (xyz) // Do something
або
if (xyz != nil) // Do something
У документах кажуть зробити це першим способом, але я виявив, що іноді потрібен другий спосіб, і не створюється помилка компілятора, але в інших випадках другий спосіб генерує помилку компілятора.
Мій конкретний приклад - використання GData XML-аналізатора, з'єднаного мостом для швидкого переходу:
let xml = GDataXMLDocument(
XMLString: responseBody,
options: 0,
error: &xmlError);
if (xmlError != nil)
Ось, якби я щойно зробив:
if xmlError
це завжди поверне правду. Однак якщо мені це зробити:
if (xmlError != nil)
тоді він працює (як це працює в Objective-C).
Чи є щось із GData XML та способом поводження з необов'язковими, які я пропускаю?