指定初始化为OBJ-C的子类,超级小白

问题描述:

很抱歉,如果这是一个noob问题,但如果我对我的基类的指定初始化看起来像指定初始化为OBJ-C的子类,超级小白

- (id)initWithName:(NSString *)name { 
    if (self = [super init]) { 
     _name = [name retain]; 

    } 
    return self; 
} 

现在,如果我有从继承的子类这个类,并想打电话给初始化程序,我这样做:

- (id)initWithSomethingElse:(NSString *)somethingElse name:(NSString *)name { 
    if (self = [super initWithName:name]) { 
     _somethingElse = [somethingElse retain]; 

    } 
    return self; 

} 

是的,这是正确的。事实上,您可以调用任何超类的初始化程序。

正确,这是如何在objc中初始化的。