2015-11-28 39 views
0

我试图将存储数据的NSUserDefaults.standardUserDefaults路线存入iOS设备。我知道这不是最好的方法,但我只是尝试了练习(我知道当您重新启动模拟器或从设备上删除应用程序时数据已被删除)。我的主要目标是获取存储在iOS设备中的数据,然后在提交后将其恢复显示在另一个视图控制器上。我认为我可以将它作为标签显示,但我仍然无法在调用这些信息时遇到问题,并在不同的视图控制器中调用。对不起,如果这是不够的信息,我可以提供更多,如果需要一点。NSUserDefaults显示存储的数据

我打字的值转换成文本框

@IBOutlet weak var userNameTextField: UITextField! 

然后我用一个按钮

@IBAction func submitButton(sender: AnyObject) { 
    let userName = userNameTextField.text; 
    NSUserDefaults.standardUserDefaults().setObject(userName, forKey: "userName") 
    NSUserDefaults.standardUserDefaults().synchronize() 
} 

是同步必要的,或者只需要多提交数据文本字段正在提交?

同样,我只是想提取数据,并能够在另一个视图控制器页面上查看/查看/显示它。

+2

您面临的问题是什么? –

+0

同步是一个好主意,因为没有它,信息就会“周期性地”写入永久存储器。如果您的应用没有同步终止,您的数据可能在下次发布时不可用。 –

+0

存储数据没有问题。我只想拉取存储的数据。例如,我想要查看输入的常量userName,并在它们单击“提交”时显示该名称,并将其显示在另一个视图控制器上。 并感谢您的同步建议。 – user3795450

回答

0

要保存然后检索数据,你想要做这样的事情:

let textToSave = userNameTextField.text; 
let defaults = NSUserDefaults.standardUserDefaults() 
defaults.setObject(textToSave, forKey: "myKey") 

然后进行检索和设置标签的文本为(例如)这样做:

let defaults = NSUserDefaults.standardUserDefaults() 
myLabel.text = defaults.stringForKey("myKey") 

stringForKey方法返回以前在该密钥中保存的任何内容

+0

谢谢,这正是我所需要的! – user3795450