【问题标题】:Setting a viewController property by using a shared instance remains nil使用共享实例设置 viewController 属性仍然为零
【发布时间】:2020-12-23 19:38:25
【问题描述】:

我有两个 viewController:
1/ LoginViewController
2/ BibliothequeViewController

我通过单击 LoginViewController 内的按钮来展示 BibliothequeViewController,同时尝试与 BibliothequeViewController 交流它是 >LoginViewController 呈现它。

所以在 LoginViewController 里面,我有这个:

  @IBAction func onLibrariesButtonClicked(_ sender: Any) {
        let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let vc: BibliothequesViewController = storyboard.instantiateViewController(withIdentifier: "BibliothequesViewController") as! BibliothequesViewController
        BibliothequesViewController.sharedInstance.presentedBy=self
        print("INSIDE LoginViewController.onLibrariesButtonClicked, BibliothequesViewController.sharedInstance.presentedBy",BibliothequesViewController.sharedInstance.presentedBy!)
        // Logs LoginViewController
        self.present(vc, animated: true, completion: nil)
    }

BibliothequesViewController 里面,我有这个:

class BibliothequesViewController: UIViewController {
    // presentedBy represents which view has presented the BibliothequesViewController
    // So that when a library is selected, I go back to the ViewController that presented BibliothequesViewController
    var presentedBy: UIViewController?
   override func viewDidLoad() {
        super.viewDidLoad()
       print("INSIDE viewDidLoad, presentedBy: ",presentedBy) 
       // Logs nil
    }
  }

如您所见,在 LoginViewController 代码中,BibliothequesViewController.sharedInstance.presentedBy 已设置为 LoginViewController

但是在BibliothequeViewController里面是nil,应该是LoginViewController

【问题讨论】:

    标签: ios swift xcode uiviewcontroller tvos


    【解决方案1】:

    我试过了:

     print("INSIDE BibliothequesViewController, BibliothequesViewController.sharedInstance.presentedBy",BibliothequesViewController.sharedInstance.presentedBy!)
    

    我得到了 LoginViewController 记录。所以我得到了我需要的东西。

    但我希望上面的代码也能工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多