Недавно я понял, что мне нужно добавить аргумент в метод init для вспомогательного класса, который у меня есть. Вспомогательный класс работает с представлениями предупреждений, поэтому он уже имеет в аргументе кучу аргументов, которые просматриваются, настраиваются и затем отправляются в представление предупреждений.
Поскольку я использую метод, как он есть в разных местах, я не хочу рисковать сбой (пропуская одно из этих мест и получая «нераспознанный селектор» в руках клиента), поэтому я решил добавить второй метод инициализации.
* 1005 Т.е. *
- (id)initWithA:B:C:D:
и
- (id)initWithA:B:C:foo:D:
Прямо сейчас я просто скопировал и вставил первую реализацию в foo: одну, но в идеале было бы неплохо сделать первый вызов вторым, т.е.
- (id)initWithA:a B:b C:c D:d
{
return [self initWithA:a B:b C:c foo:nil D:d];
}
но я не уверен, приемлемо это или нет. Код работает нормально.