0

对不起,如果这是一个菜鸟问题,但如果我为我的基类指定的初始化程序看起来像

- (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;

}
4

2 回答 2

1

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

于 2012-08-24T18:03:25.497 回答
0

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

于 2012-08-24T18:03:35.090 回答