बस यह जानने का प्रयास करें कि सबसे अच्छा अभ्यास क्या है: (NSError**)
लेते हुए विधि का उपयोग करते समय, क्या यह nil
या NULL
भेजना बेहतर है?"त्रुटि: न्यूल" या "त्रुटि: शून्य"?
उदाहरण के लिए,
NSArray *items = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL];
प्रलेखन में यह कहते हैं, "आप त्रुटि जानकारी नहीं चाहते हैं तो आप इस पैरामीटर के लिए नहीं के बराबर निर्दिष्ट कर सकता है।" दूसरी तरफ, क्योंकि यह एक डबल पॉइंटर है, न्यूल को भी समझ में आता है?
वे अपने प्रकार में भिन्न हैं। वे सभी शून्य हैं, लेकिन "न्यूल" एक शून्य * है, "शून्य" एक आईडी है, और "नील" एक क्लास पॉइंटर है। http://stackoverflow.com/questions/1564410/when-to-use-nil-and-null-in-objective-c – ARC
युप; लिंक के लिए धन्यवाद। और यही कारण है कि, इस मामले में, यह पूर्ण होना चाहिए, क्योंकि शून्य/नील न तो पॉइंटर्स को पॉइंटर्स का प्रतिनिधित्व करते हैं; यह कुछ ऐसा हो जाएगा (शून्य * आईडी *) या कुछ ऐसे कास्ट बकवास। – bbum
धन्यवाद दोस्तों। मुझे क्या चिंता है कि अगर विधि में किसी भी तरह से 'न्यूल' को संदर्भित किया गया है, तो क्या इससे समस्याएं नहीं आतीं? इस पोस्ट के मुताबिक [http://stackoverflow.com/questions/3581544/exception-codes-kern-protection-failure-at-0x00000000-error], 'nil' एक सुरक्षित विकल्प प्रतीत होता है? –