iphony सही है, लेकिन वह या वह कहते हैं कि यह नहीं है कि आप init विधि अपने आप को लिखने के लिए की जरूरत है। आपका init विधि आम तौर पर कुछ इस तरह दिखना चाहिए:
- (id) init
{
if (self = [super init])
{
myMember1 = 0; // do your own initialisation here
myMember2 = 0;
}
return self;
}
हालांकि apple documentation कहते
init विधि NSObject वर्ग में परिभाषित नहीं प्रारंभ करता है, यह बस आत्म लौटाता है।
और एक बस
- (id) init
{
myMember1 = 0; // do your own initialisation here
myMember2 = 0;
return self;
}
लिखने के लिए इस गलत है और परीक्षा जा सकती है, का पालन नहीं कर क्या स्पष्ट रूप से दस्तावेज में कहा गया है:
इस (init) विधि के एक कस्टम कार्यान्वयन में , आपको सुपर नामित प्रारंभकर्ता को फिर से शुरू करना होगा और फिर नई ऑब्जेक्ट को प्रारंभ करना और वापस करना होगा।
आवश्यक है। नहीं, चाहिए, चाहिए, आदि,
आपको यह नहीं मानना चाहिए कि एनएसओब्जेक्ट की init भविष्य में नहीं बदली है; न ही सुपरक्लास जिसमें से आपकी कस्टम क्लास प्राप्त होती है।
स्रोत
2009-03-02 18:23:24
यह केवल "newObject" ऑब्जेक्ट को TheClass क्लास के रूप में प्रारंभ कर रहा है। यदि TheClass "- (id) init" [super init] "और" स्वयं को वापस "में लागू नहीं करता है, तो आपका प्रारंभिक रूप से विफल हो जाएगा। – Klompengard