У меня есть подкласс UITableViewController
, который создается в зависимости от того, где он используется, в NIB или через код. В обоих случаях я хочу выполнить настройку в методе инициализатора. Означает ли это, что мне нужно реализовать как initWithNibName:bundle:
, так и initWithCoder:
, и будет ли каждый метод вызывать соответствующий суперинициализатор?
Хотя сейчас мне это не нужно, но что, если я также хочу иметь возможность создать экземпляр контроллера представления с помощью initWithStyle:
? Могу ли я тогда понадобиться 3 разных метода инициализации, которые воспроизводят одно и то же поведение?
Похоже, что это нарушает все обозначенное соглашение об инициализаторах, поскольку по существу будет 3 отдельных инициализатора, которые не вызывают общий метод инициализации. Или есть способ создать общий назначенный инициализатор при поддержке 3 разных маршрутов создания экземпляров?