Не думаю, что те, кто ответил «да», достаточно внимательно прочитали ваш вопрос.Вы спросили, возможно ли "сделать эти три вида одинаковыми экземпляром одного и того же контроллера представления".Конечно, вы можете использовать три разных экземпляра одного и того же подкласса UIViewController, но я не думаю, что вы захотите использовать один и тот же экземпляр.
Я, честно говоря, никогда не пробовал этого, но логично не ожидалэто работает по нескольким причинам:
Заголовок и значок, показанные для каждой вкладки, определяются через свойство tabBarItem контроллера представления.Если один и тот же экземпляр UIViewController появлялся несколько раз в массиве viewControllers контроллера панели вкладок, то каждая вкладка также будет использовать один и тот же tabBarItem, то есть у вас не будет возможности присвоить каждой вкладке уникальный ярлык и значок.
Чтобы сохранить память при переключении с одной вкладки на другую, UIKit будет выгружать вид исчезнувшего контроллера представления.Если контроллер представления, на который вы переключились, является тем же экземпляром, что и исчезнувший, UIKit может попытаться выгрузить свое представление во время его отображения.Я ожидаю, что это создаст ошибки управления памятью, которые могут привести к сбою вашего приложения с сигналом EXC_BAD_ACCESS.
Вместо того, чтобы использовать один и тот же экземпляр для нескольких вкладок, я бы порекомендовал одну изэти опции:
A.Используйте несколько экземпляров одного и того же подкласса UIViewController и задайте свойства для уникальной настройки каждого экземпляра.
B.Создайте базовый подкласс UIViewController, который реализует те аспекты, которые являются общими для всех трех вкладок, затем создайте три подкласса вашего базового класса, которые реализуют те аспекты, которые являются уникальными для каждой вкладки.