如何在标签中显示JSON数据?斯威夫特2

时间:2016-10-31 16:31:08

标签: json swift2 xcode7.3

嘿我试图获得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
}

但没有任何表现。

1 个答案:

答案 0 :(得分:1)

'synchronize()'是不天真的 - 它会定期自动调用(顺便说一句,有一些性能损失 - 没有必要每次调用它 - iOS负责更新默认值)< / p>

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

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