在Objective-C中创建构造函数

NSE*_*rer 5 iphone constructor objective-c ios

为什么我们总是在Objective C中创建构造函数时这样做?

self = [super init];
if ( self ) {
    //Initialization code here
}
Run Code Online (Sandbox Code Playgroud)

The*_*ird 10

你可以在objective-c中创建构造函数和析构函数

-(id) init
{
    self = [super init];
    if(self)
    {
       //do something
    }
    return self;
}
-(void) dealloc
{
   [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)


She*_*ley 7

我们重新分配,self因为[super init]允许返回与调用它不同的对象.我们if (self)因为[super init]被允许返回nil.