我尝试将数据从ViewController发送到UITabBarController-> UINavigationController-> ViewController,并尝试了很多方法,但无法传递数据。单击按钮后,我有异步任务,然后需要向UITabBarController-ViewController加载一些数据。我已经几乎尝试了所有示例,但是找不到有效的代码。
func AftergettingAsynchronousData(forUserID userID: String?) {
guard let tabBarController = tabBarController else { return }
let navController = tabBarController.viewControllers?[0] as! UINavigationController
let exploreViewController = navController.topViewController as! ExploreViewController
exploreViewController.userID = userID
}
接收数据
class ExploreViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
public var userID: String?
override func viewDidLoad() {
super.viewDidLoad()
print("userID \(String(describing: userID))");
}
}
答案 0 :(得分:0)
尝试将navController.topViewController更改为navController.rootViewController