ฉันใช้ 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 และวิธีที่ใช้กับตัวเลือกที่ฉันขาดหายไปหรือไม่?