Назначенный инициализатор и передаваемые аргументы

У меня есть эта иерархия:

CreateAnObjectClass : NSObject

MySecondClass : MyBaseClass
    MyBaseClass : NSObject

в CreateAnObjectClass я хочу создать экземпляр метода MySecondClass, и я хочу передать @property (strong,nonatomic) NSDictionary* myTemplate в myBaseClass.

Например:

CreateAnObjectClass *testObj = [[MySecondClass alloc] initWithTemplate:myTemplate];

И я знаю, что вызывает оба инициализатора из MyBaseClass и MySecondClass.

(id)initWithTemplate:(NSDictionary*)myTemplate
{
  self = [super init]

  return self;
}

Мой вопрос заключается в том, как я должен назначить инициализаторы, чтобы myTamplate мог быть свойством на MyBaseClass?

1 ответ

Решение

Как это:

- (id)initWithTemplate:(NSDictionary*)aTemplate
{
  self = [super init]
  if (self){
    self.myTemplate=aTemplate;
  }
  return self;
}

Изменить 1:

Помните следующее, называя это:

  self = [super init];

На MySecondClass вызовет метод init на MyBaseClass

Другие вопросы по тегам