Ну, по моему мнению, любой из этих способов в порядке, он может быть более читабельным, когда вы объявляете UIImage в одной строке и устанавливаете его в другой строке, а не делаете все это встроенным, но в конце вы получите тот же результат .
TabBarItems имеет заголовок, который представляет собой текст, который будет отображаться в элементе панели вкладок сам. Контроллеры представления имеют заголовок для целей контроллера навигации, заголовок просмотра контроллеров отображается в NavBar NavigationControllers, если он установлен. И вам нужны теги, теги - это способ, которым вы различаете кнопки, когда кто-то нажимает на них (когда вы сами управляете TabBar).