如何将日期选择器的值保存到变量中?

时间:2017-03-08 15:22:38

标签: ios swift uidatepicker

我正在创建一个待办事项应用程序,我想将用户保存的日期选择器的值放入变量中,以便我可以在tableView中打印该变量。

这是我的datePicker代码:

@IBOutlet weak var datePicker: UIDatePicker!

override func viewDidLoad() {
    super.viewDidLoad()

    datePicker.minimumDate = Date()
    datePicker.locale = Locale.current
    datePicker.setValue(UIColor.gray, forKeyPath: "textColor")

}

2 个答案:

答案 0 :(得分:1)

您可以向Picker添加特定目标以获取新值。 例如:

@IBOutlet weak var datePicker: UIDatePicker!
    var selectedDate : Date?

    override func viewDidLoad() {
        super.viewDidLoad()


        self.datePicker.addTarget(self, action: #selector(self.storeSelectedRow), for: UIControlEvents.valueChanged)
    }

    func storeSelectedRow(){

        self.selectedDate = self.datePicker.date
    }

OR

使用故事板: 当您将pickerView添加为@IBOutlet时,可以向视图控制器添加@IBAction,然后获取选择器的日期并将其存储到变量中。

请参阅此示例,将Picker Value传递给另一个ViewController https://drive.google.com/file/d/0B2RAeG6eqtvCbWp1VE5IZ0E2Vkk/view?usp=sharing

答案 1 :(得分:0)

在viewDidLoad中添加以下代码。

datePicker.addTarget(self, action: "dateChanged:",
        forControlEvents: UIControlEvents.ValueChanged)

然后在func dateChanged中获取值。

     func dateChanged(datePicker : UIDatePicker){

    let formatter = NSDateFormatter()
    //formatter
    formatter.dateFormat = "yyyy年MM月dd日 HH:mm:ss"
    print(formatter.stringFromDate(datePicker.date))

    //there you get your label first
    //let label = ...
    label.text = formatter.stringFromDate(datePicker.date)
}