У меня есть 5 элементов на tabBarController, и я управляю только на didSelect tabBar (с индексом 1 и индексом 3).Когда я нажимаю на элемент с индексом 3, ViewController отображается успешно, но когда я нажимаю на элемент с индексом 1, я получаю эту ошибку:
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 9223372036854775807 beyond bounds [0 .. 4]'
Это код на вкладке didSelect tabBar:
if item.tag == 1 {
self.view.backgroundColor = .white
let chatListController = ChatListViewController.viewControllerFromStoryborad(storyName: "Chat", viewName: "ChatList")
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let navigation = storyboard.instantiateViewController(withIdentifier: "Chat_Navigation") as! UINavigationController
navigation.pushViewController(chatListController, animated: true)
self.viewControllers?[1] = navigation
self.selectedIndex = 1
}
if item.tag == 3 {
self.view.backgroundColor = .white
let manageController = ManagingNormalViewController.viewControllerFromStoryborad(storyName: "Order", viewName: "Manage_Normal")
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let navigation = storyboard.instantiateViewController(withIdentifier: "OrderNavigation") as! UINavigationController
navigation.pushViewController(manageController, animated: true)
self.viewControllers?[3] = navigation
self.selectedIndex = 3
}
Почему я получаю эту ошибку ?!код тот же, а индекс массива правильный.
Это изображение моего TabBarController: