ios - Ternary operator with nothing in 'if' condition -


निम्न कोड क्या करता है?

  वापस obj? : [NSNull नल];   

टर्नरी आपरेशनों की मेरी समझ से यह समतुल्य होगा:

  अगर (! ओबीजे) वापसी [एनएसनल की नल];   

लेकिन क्या हो जाता है यदि (obj) ? क्या यह अभी भी वापसी [NSNull null] ?

कोड के माध्यम से गिरता है ... <पूर्व> रिटर्न एफू? : बार;

उसी मान को वापस लाएगा ...

  रिटर्न एफू? Foo: बार;   

अंतर यह है कि पहला तरीका केवल foo मान का एक बार निरीक्षण करता है।

कई मामलों में पहली बार इसका उपयोग करना बेहतर होता है।

उदाहरण के लिए, एक ऑब्जेक्ट बना रहा है ...

  // यह दो ऑब्जेक्ट्स बनायेगा, चेक करने के लिए एक और दूसरा रिटर्न वापस [MyObject objectWithSomeParam: param]? [MyObject objectWithSomeParam: परम]: बार;   

या एक महँगा फ़ंक्शन चल रहा है ...

  // महंगी फ़ंक्शन यहां दो बार वापस आ जाता है [आत्मसम्प्रभावपूर्ण फ़ंक्शन]? [स्वयं कुछ एक्सपेन्सिव फंक्शन]: बार;   

इन दोनों का उपयोग करने से लाभ होगा <पूर्व> रिटर्न एफू?: बार;

अनिवार्य रूप से, यदि सत्यापन ऑब्जेक्ट सही के लिए रिटर्न ऑब्जेक्ट के समान है तो छोटा संस्करण का उपयोग करें।

Comments

Popular posts from this blog

java - Why my included JSP file won't get processed correctly? -

php - PDO bindParam() fatal error -

javascript - preventing audio from playing then allowing after end with jquery function -