无法在 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)
}
我想从 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)
}