在 SWIFT 中,我使用 View Controller (VC2) 来保存一个 datePicker,我从中获取日期并将其传回 VC1。 VC1 有一个通过 segue 加载 VC2 的按钮。 问题是,当我获得第一个日期并将 unwindsegue 返回到 VC1,接下来我尝试再次点击 VC1 中的按钮以更改日期时,我发现 datePicker 日期设置为今天,而不是我选择的最后一个日期。当我下次尝试更改它时,如何在 datePicker 中保留第一个选择的日期/时间?
我的意思是当 datePicker 在同一个 VC 中使用时,如果您决定再次更改日期,第一次选择的日期/时间将保留在 datePicker 中。
问候, 穆罕默德
我尝试了以下方法: 在 VC1 中:
let storyBoard = UIStoryboard(name: "Main", bundle: nil)
var vc = storyBoard.instantiateViewControllerWithIdentifier("datePickerVc1") as! UIViewController
self.presentViewController(vc, animated: true, completion: nil)
在 VC2 中:
@IBAction func exit(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}
并且 datePicker 仍然返回到其默认状态,即日期将返回到今天的日期。
最佳答案
谢谢大家的回答。 我找到了解决方案。在离开模态视图 VC2 之前放置以下代码:
let currentDate = datePicker.date
NSUserDefaults.standardUserDefaults().setObject(currentDate, forKey: "Current-Date")
在 VC2 的 viewDidLoad 中放置以下内容:
if let date = NSUserDefaults.standardUserDefaults().objectForKey("Current-Date") as? NSDate {
datePicker.setDate(date, animated: true)
感谢 David Silverfarmer 在这个链接 Save datePicker value using NSUserdefaults(xcode,swift2)
谢谢
穆罕默德
关于swift - 使用 segue 的 datePicker 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36400927/