【发布时间】:2015-06-05 22:39:31
【问题描述】:
我有两个视图控制器。我还有一个名为number 的通用变量。第一个视图控制器上有一个名为mainLabel 的标签。我的第二个视图控制器上有一个按钮。当按下按钮时,它应该从变量 number 中减去 200,然后更新 mainLabel 标签。我不知道如何使mainLabel 成为也适用于第二个视图控制器的标签。
第一个视图控制器
import UIKit
var number:Int = 0
class ViewController: UIViewController {
@IBOutlet weak var mainLabel: UILabel!
@IBAction func backgroundButton(sender: AnyObject) {
number = number + 1
mainLabel.text = "\(number)"
NSUserDefaults.standardUserDefaults().setObject(number, forKey: "number")
}
override func viewDidLoad() {
super.viewDidLoad()
if NSUserDefaults.standardUserDefaults().objectForKey("number") != nil {
number = NSUserDefaults.standardUserDefaults().objectForKey("number") as! Int
}
mainLabel.text = "\(number)"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
第二个视图控制器
import UIKit
class SecondViewController: UIViewController {
@IBOutlet weak var buy1Label: UILabel!
@IBAction func buy1(sender: AnyObject) {
number = number - 200
buy1Label.text = "Bought!"
mainLabel.text = "\(number)"
}
}
【问题讨论】:
-
我建议使用 NSDefaultUser 存储您的号码,一旦您更新您的“号码”,发布 NSNotification,以便观察者收到通知。
-
@antonio081014 我是 Xcode 的新手,你能解释一下该怎么做吗?
-
您正在使用 segues 浏览两个
UIViewControllers? -
@antonio081014 那……只是……不……请不要那样做……
-
@nhgrif 我有理由吗?
标签: swift uilabel viewcontroller