swift - 使用 segue 的 datePicker 日期

标签 swift segue

在 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/

相关文章:

Swift:固定导航栏过渡到另一个 View Controller

swift - 如何在 swift 1.2 项目中支持 iPhone X?

swift - 带有 SwiftUI View 的 UIKit TabBar

导航栏后面出现 Swift 黑色背景

swift - 直接从 UITabBarController 和通过 UINavigationController 选择 UIViewController

ios - 什么是已弃用的推送转场? (iOS 8)

swift - 为什么我不能直接分配dataSource?

ios - 如果我使用 UITableViewAutomaticDimension,如何增加单元格的高度?

ios - Swift countElements() 在计数标志 emoji 时返回不正确的值

iphone - 你如何给自己做一个segue?