问题描述
我有这个viewcontroller类:
class ThirdScreenViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
var number = 1
@IBAction func pressed(_ sender: UIButton) {
number = 2
}
}
我有一个不同的swift文件。 (不是另一个View Controller类)
var newNumber = ThirdScreenViewController.number
这不起作用。如何在新的swift文件中从其他View Controller类访问该变量(2)?
解决方法
最简单的解决方案是将属性设置为静态:
class ThirdScreenViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
static var number = 1
@IBAction func pressed(_ sender: UIButton) {
ThirdScreenViewController.number = 2
}
}
之后,您应该可以按照示例中的说明调用变量:
var newNumber = ThirdScreenViewController.number
但是在这种情况下使用静态属性并不是最佳实践。