संभव डुप्लिकेट:
In Objective-C why should I check if self = [super init] is not nil?क्यों [सुपर init] शून्य वापस आ जाएगा, जब "सुपर" NSObject है?
ऑब्जेक्टिव-सी किताब मैं पढ़ रहा हूँ में, यह कहा जाता है [init]
संदेश NSObject
के लिए भेजा जाता है, इस अवसर पर यह nil
लौट सकते हैं और हम ऐसा करना चाहिए सकता है कि nil
होने पर क्या हो सकता है, इस पर अधिक संदेश भेजने से पहले, वापसी मूल्य की जांच करें।
self = [super init];
if (self) {
do stuff
}
मैं तुम्हें हालांकि पूछते हैं, क्या होने के लिए एक NSObject
को init
खुद करने में सक्षम नहीं की जरूरत है?
संपादित करें: प्रश्न विशेष रूप से एक उदाहरण से संबंधित है जहां YourClass: NSObject।
मेरा प्रश्न उस मामले के लिए विशिष्ट है जहां आपकी कक्षा की सुपर क्लास NSObject स्वयं है। – JAM
अन्य प्रश्न उस मामले को शामिल करते हैं, और इसमें कई वाकई उत्कृष्ट उत्तर हैं। –