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