मैं Xcode 6 बीटा 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)
तब यह काम करता है (जैसा कि यह उद्देश्य-सी में कैसे काम करता है)।
क्या GData XML के साथ कुछ है और जिस तरह से यह वैकल्पिक व्यवहार करता है कि मैं गायब हूँ?