【问题标题】:Swift: Pass data from a view controller to a navigation controllerSwift:将数据从视图控制器传递到导航控制器
【发布时间】:2019-05-17 15:39:12
【问题描述】:

我想将数据从一个视图控制器传递到另一个视图控制器,但我在它们之间有一个导航控制器,所以有一个“present”函数而不是“performSegue”。

 private func IniciarMainAdmin(){
    let mainAdmin = UIStoryboard(name: "Main", bundle: Bundle.main)
    guard let mainAdminNVC = mainAdmin.instantiateViewController(withIdentifier: "NCMainAdmin") as? NCMainAdmin else{
        return
    }
    present(mainAdminNVC, animated: true, completion: nil)
}

我已尝试使用此代码,但它对我不起作用:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let destViewController = segue.destination as! NCMainAdmin
        let secondViewcontroller = destViewController.viewControllers.first as! NCMenuAdmin
        secondViewcontroller.adminUserData = "This is a test"
}

注意事项:

  • NCMainAdmin 是导航控制器
  • NCMenuAdmin 是 Navigation Controller 的第一个 View Controller

谢谢!

【问题讨论】:

    标签: swift viewcontroller navigationcontroller


    【解决方案1】:

    要触发您的代码prepare(for,您需要创建从发送方 vc 到导航的 segue,所以要么

     private func IniciarMainAdmin(){
        let mainAdmin = UIStoryboard(name: "Main", bundle: Bundle.main)
        guard let mainAdminNVC = mainAdmin.instantiateViewController(withIdentifier: "NCMainAdmin") as? NCMainAdmin else{
            return
        }
        let first = mainAdminNVC.viewControllers.first as! NCMenuAdmin
        first.adminUserData = "This is a test"
        present(mainAdminNVC, animated: true, completion: nil)
    }
    

    self.performSegue(withIdentifier:"id",sender:nil)
    
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
            let destViewController = segue.destination as! NCMainAdmin
            let secondViewcontroller = destViewController.viewControllers.first as! NCMenuAdmin
            secondViewcontroller.adminUserData = "This is a test"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-02
      • 2018-12-23
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多