Цель состоит в том, чтобы установить значок для одного элемента панели вкладок, но только когда вызывается какая-то другая логика в другом месте приложения.Прямо сейчас у меня есть класс MainNavigationController, расширяющий UITabBarController, здесь настроена панель вкладок.В MainNavigationController у меня также есть открытая функция, как показано ниже
func setBadge() {
print("setting Badge")
self.tabBar.items?[1].badgeValue = "1"
}
Когда я вызываю эту функцию из другого места, где в приложении используется MainNavigationController (). SetBadge (), выполняется оператор print, но элемент tabBar вИндекс 1 не обновляется со значком.Как я могу получить значок этого значка для показа?
РЕДАКТИРОВАТЬ Решение на основе комментария @Robert Dresler.Проблема была в том, что у меня не было доступа к правильному экземпляру MainNavigationController ...
let rootView = UIApplication.shared.keyWindow?.rootViewController as? BaseViewController
let tabBarView = rootView?.centralViewController as? MainNavigationController
tabBarView!.setBadge()