Имеется ViewController содержащий tabbar, как узнать какой элемент выбран?

Для того чтобы узнать, какой элемент вкладки был выбран в ViewController с tabbar, вы можете использовать свойство selectedIndex из класса UITabBarController.

selectedIndex - это свойство, которое указывает индекс выбранной вкладки. Индексы начинаются с 0, что означает, что первая вкладка имеет индекс 0, вторая - индекс 1 и так далее.

Вам необходимо получить экземпляр UITabBarController, чтобы получить доступ к этому свойству. Если вы используете Storyboard, самый простой способ это сделать - это определить IBOutlet для вашего TabBarController.

К примеру, предположим, у вас есть UITabBarController с именем tabBarController. Вы можете определить IBOutlet в вашем ViewController следующим образом:

@IBOutlet weak var tabBarController: UITabBarController!

Затем, вы можете использовать selectedIndex, чтобы узнать, какая вкладка выбрана, например, вы можете использовать его в методе viewDidLoad():

override func viewDidLoad() {
    super.viewDidLoad()
    
    // Получить индекс выбранной вкладки
    let selectedIndex = tabBarController.selectedIndex
    
    // Делаем что-то, основываясь на выбранной вкладке
    switch selectedIndex {
        case 0:
            // Выбрана первая вкладка
            print("Выбрана первая вкладка")
        case 1:
            // Выбрана вторая вкладка
            print("Выбрана вторая вкладка")
        default:
            break
    }
}

В этом примере мы получаем индекс выбранной вкладки, а затем используем оператор switch для выполнения определенных действий в зависимости от выбранной вкладки.

Таким образом, вы можете легко определить, какая вкладка выбрана в вашем UITabBarController и принять соответствующие меры в своем ViewController.