, поэтому у меня есть 2 контроллера представлений, которые теперь стали частями TabBarController. Я просто проходил переменную «selectedPack» от В.- А до В.- В по:Передайте данные из ViewController в Viewcontroller, который теперь является частью TabBarController
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let transportJourneyViewController = storyBoard.instantiateViewController(withIdentifier: "JourneyViewController") as! JourneyViewController
transportJourneyViewController.selectedPack = self.packArray[indexPath.item].packID
self.present(transportJourneyViewController, animated:true, completion:nil)
однако теперь, что Vc B или JourneyViewController является частью TabBarController мне нужно изменить к нему что-то вроде:
let tbc = self.storyboard!.instantiateViewController(withIdentifier: "MyTabController") as! UITabBarController
tbc.selectedIndex = 1
self.present(tbc, animated: true, completion: nil)
Проблема, с которой я сталкиваюсь, пытается передать данные, которые он имеет переменную «selectedPack», как показано в первом блоке кода, потому что эта переменная не существует в «tbc.selectedIndex = 1», она существует в «JourneyViewController». Я запутался, потому что я думаю, что, хотя это часть элемента управления tabbar, когда вы меняетесь, вы меняетесь на этот диспетчер представлений, что, очевидно, не так, хотя это то, что вы видите.
Nicely объясняется здесь https://makeapppie.com/2015/02/04/swift-swift-tutorials-passing-data-in-tab-bar-controllers/SubClass Tabbar. –