保存上次日期选择器选择 [英] Save last datePicker selection

查看:51
本文介绍了保存上次日期选择器选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有 UIDatePicker 的项目.

I have a project with an UIDatePicker.

我希望如果我更改我的 UIDatePicker 值,例如在 9:23,当我重新启动我的应用程序时,我的值仍然是 9:23 而不是默认值.我怎样才能做到这一点?

I want that if I change my UIDatePicker value, for example at 9:23, when I restart my app value is still 9:23 and not the default value. How can I do that?

这是我的代码:

@IBOutlet var myDatePicker: UIDatePicker!
var datePicker = /* Get Your Date Picker from somewhere */

// Store value using User Defaults
let currentDate = datePicker.date
NSUserDefaults.standardUserDefaults().setObject(currentDate, forKey: "Current-Date")

// Retrieve Value using User Defaults
if let date = NSUserDefaults.standardUserDefaults().objectForKey("Current- Date") as? NSDate {
   datePicker.setDate(date, animated: true)
}

我尝试使用标准的 userDefaults 方法,但没有奏效.

I tried with standard userDefaults method but not worked.

推荐答案

我为你准备了一些代码片段:

Hi I prepared for you some snipped code:

     import UIKit

        class ViewController: UIViewController {

// I have declared const key property to avoid mistakes (typo)
            let dateKey = "Current-Date"

            @IBOutlet weak var datePicker: UIDatePicker!
            override func viewDidLoad() {
                super.viewDidLoad()
            }

            override func viewDidAppear(animated: Bool) {
                super.viewDidAppear(animated)

    // This line load previous state when view controller did appear
                loadDate(true)
            }

            @IBAction func savePickerData(sender: AnyObject) {
                // When user taps into 'savePickerData' button picker state is saved
                saveDate()
            }

            func saveDate() {
                NSUserDefaults.standardUserDefaults().setObject(datePicker.date, forKey:dateKey)
            }

            func loadDate(animation: Bool) {
                guard let loadedDate = NSUserDefaults.standardUserDefaults().objectForKey(dateKey) as? NSDate else { return }

                datePicker.setDate(loadedDate, animated: animation)
            }

        }

应该可以正常工作:)

这篇关于保存上次日期选择器选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆