【发布时间】:2015-09-29 21:45:47
【问题描述】:
我坚持一个简单的概念(我猜),基本上我在 Storyboard 上有两个 ViewController,我也有 2 个类,ViewController 和 ViewController2:
我有一个带有默认值 (0) 的标签,当我单击按钮时,我想将此变量的值更改为 10,然后单击“显示”按钮并打印此变量,我'正在成功更改标签并打印新值。
真正的问题是当我想从另一个视图获取新变量值时,即使我更改了值,如果我尝试在第二个视图上打印变量,变量总是返回默认值(0)
视图控制器
import UIKit
class ViewController: UIViewController {
var variable = "0"
@IBOutlet var defaultLabel: UILabel!
@IBOutlet var label1Label: UILabel!
@IBAction func setValue(sender: AnyObject) {
setValue()
}
@IBAction func getValue(sender: AnyObject) {
getValue()
}
override func viewDidLoad() {
super.viewDidLoad()
}
func setValue(){
variable = "10"
defaultLabel.text = variable
}
func getValue(){
print(variable)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
ViewController2
import UIKit
class ViewController2: UIViewController {
@IBOutlet var label2Label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func show(sender: AnyObject) {
print(ViewController().getValue())
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
我找到了这篇文章:
Access variable in different class - Swift
我真的认为这是我找到解决方案的方式,但我真的不明白如何在 ViewController2 上调用变量。
谢谢。
【问题讨论】: