通过 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 图片。我想看看你的人脉。