Основной инициализатор - это тот, который вызывает [super init], и все переменные назначаются в этом методе.
Вместо "основного инициализатора" мы обычно говорим "назначенный инициализатор"".
Является ли этот подход правильным?
Да, более или менее.Все ваши инициализаторы должны в конечном итоге вызвать назначенный инициализатор, который должен инициализировать себя, сначала вызвав назначенный инициализатор суперкласса.
Обратите внимание, что вы должны переопределить инициализатор назначенного суперкласса, чтобы вызвать назначенный инициализатор, если у него неттот же селектор.Так что в вашем примере, предполагая, что вы наследуете непосредственно от NSObject
, вам нужно переопределить -init
для вызова -initWithAccount:apiKey:lineid:runTitle:
с соответствующими значениями по умолчанию.