通过 NSUserDefaults Swift 2.0 检索数据
Retrieving data by NSUserDefaults Swift 2.0
目前,我的 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")
}
}
您可以使用相同的代码从您的第二个页面检索您的数据。
像这样在第二页创建你的 NSUserDefaults
;
首先将这些代码添加到 IBAction 函数中的 FirstPage。不要使用 if else 语句进行测试。
UserDefaults.standard.set("yourValue", forKey: "yourKey")
当您按下按钮时,它应该会使用您的密钥保存您的数据。
在 secondPage 中,您可以像这样在 viewDidLoad 方法中检索数据;
override func viewDidLoad() {
super.viewDidLoad()
print(UserDefaults.standard.value(forKey: "yourKey") ?? "defaultValue in case key is not found")
print(value)
}
当 secondPage
打开时,它应该将您的值打印到您的 控制台 (xcode 中的底部 window)。如果您仍然无法找回您的价值,请与我分享您的 storyboard
图片。我想看看你的人脉。
目前,我的 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")
}
}
您可以使用相同的代码从您的第二个页面检索您的数据。
像这样在第二页创建你的 NSUserDefaults
;
首先将这些代码添加到 IBAction 函数中的 FirstPage。不要使用 if else 语句进行测试。
UserDefaults.standard.set("yourValue", forKey: "yourKey")
当您按下按钮时,它应该会使用您的密钥保存您的数据。
在 secondPage 中,您可以像这样在 viewDidLoad 方法中检索数据;
override func viewDidLoad() {
super.viewDidLoad()
print(UserDefaults.standard.value(forKey: "yourKey") ?? "defaultValue in case key is not found")
print(value)
}
当 secondPage
打开时,它应该将您的值打印到您的 控制台 (xcode 中的底部 window)。如果您仍然无法找回您的价值,请与我分享您的 storyboard
图片。我想看看你的人脉。