如何将数据从ViewController传递到UITabBarController-> UINavigationController-> ViewController

时间:2018-11-22 05:05:06

标签: ios swift uitabbarcontroller

我尝试将数据从ViewController发送到UITabBarController-> UINavigationController-> ViewController,并尝试了很多方法,但无法传递数据。单击按钮后,我有异步任务,然后需要向UITabBarController-ViewController加载一些数据。我已经几乎尝试了所有示例,但是找不到有效的代码。

enter image description here

     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))");
        }

    }

1 个答案:

答案 0 :(得分:0)

尝试将navController.topViewController更改为navController.rootViewController