无法在 ViewController 中获取变量

Can't get variable in ViewController

我想从 AppDelegate 获取 ViewController 变量,我试过了:

//1.
print(ViewController().strName)

//2.
let vc = ViewController()
print(vc.strName)

//3.
let vc = UIApplication.shared.keyWindow!.rootViewController as! ViewController
print(vc.strName)

全部不工作,打印值为空...

ViewController中的代码:

var strName : String = ""
override func viewDidLoad() {

    strName = "Tom"

}

我建议检查一下这个 link Swift: How to access in AppDelegate variable from the View controller? 否则在视图控制器中尝试,

class ViewController: UIViewController {

  var strName = "someString" // some value

}

在 AppDelegate 中,

    var mainViewController = ViewController()

func applicationWillEnterForeground(_ application: UIApplication) {
    _ = self.window?.rootViewController as? ViewController
    print(mainViewController.strName)
}