如何在标签中显示 JSON 数据? Swift 2

How to show JSON data in a label? Swift 2

嘿,我正在尝试获取 JSON(使用 Alamofire)并将其显示在标签上。这是我从服务器得到的:

{
 Value = 4
}

我写了这个:

let Value = (response.result.value!["Value"] as? NSString) ?? 0

let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
prefs.setObject(Value, forKey: "Value")
prefs.setInteger(1, forKey: "Value")
prefs.synchronize()

//I try to show it by this code on the other page:

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(true)
    self.valueLabel.text = prefs.valueForKey("Value") as? String
}

但没有显示任何内容。

'synchronize()' 并不天真 - 它会定期自动调用(顺便说一句,有一些性能损失 - 没有必要每次都调用它 - iOS 会小心更新默认值)

但是,由于在您的情况下您需要知道值何时存在,因此您应该修复一个观察者(只需填写您的对象和更新标签):

    NotificationCenter.default.addObserver(forName: UserDefaults.didChangeNotification, object: nil, queue: OperationQueue.main) { _ in  /* update your label */ }