目前,我的NSUserDefaults代码运行良好。我现在唯一的问题是如何将数据存储发送到另一个页面?我现在可以保存数据,但是如何通过NSUserDefaults将相同的数据检索到辅助页面?
import UIKit
class MainTableViewController: UITableViewController, UITextFieldDelegate {
let userDefaults = NSUserDefaults.standardUserDefaults()
@IBOutlet weak var name: UITextField!
@IBAction func btnSave() {
if name.text == "" {
let alert = UIAlertController(title: "Data", message: "Missing Name.", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
}
else {
userDefaults.setObject(name.text, forKey:"name")
userDefaults.synchronize()
}
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
name.text = userDefaults.stringForKey("name")
}
}
答案 0 :(得分:2)
您可以使用相同的代码从第二页检索数据。
像这样在第二页中创建NSUserDefaults
;
首先将这些代码添加到IBAction函数中的FirstPage中。不要使用if else语句进行测试。
UserDefaults.standard.set("yourValue", forKey: "yourKey")
当您按下按钮时,应使用您的密钥保存数据。
在第二页中,您可以像这样在viewDidLoad方法中检索数据;
override func viewDidLoad() {
super.viewDidLoad()
print(UserDefaults.standard.value(forKey: "yourKey") ?? "defaultValue in case key is not found")
print(value)
}
当secondPage
打开时,应该将您的值打印到控制台(xcode中的底部窗口)。如果您仍然无法检索到您的价值,请与我分享您的storyboard
图片。我希望看到你的联系。