obj-c中的子类的指定初始化器,超级noob

时间:2012-08-24 18:00:25

标签: iphone objective-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;

}

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

正确,这是在objc初始化的方式。