2016-10-31 19 views
0

ちょっと(私はAlamofireを使って)JSONを取得してラベルに表示しようとしています。これは私がサーバーから得るものです:JSONデータをラベルに表示するにはどうすればよいですか? Swift 2

{ 
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 
} 

しかし、何も表示されません。

答えて

0

'synchronize()'はそれほど素朴ではありません - 定期的な間隔で自動的に呼び出されます(そして、パフォーマンス上のペナルティがあります - 毎回呼び出す必要はありません--iOSがデフォルトを更新します)

しかし、あなたのケースでいるので、あなたがオブザーバーを修正する必要があり、値がであるときに知っておく必要があります(単にオブジェクトとあなたの更新ラベル事に記入):

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