Как записать дату из UIDatePicker во внешнюю переменную - PullRequest
0 голосов
/ 26 апреля 2020

Я просто пытаюсь извлечь дату из переменной, которая будет использоваться где-то еще, и чтобы эта переменная изменялась каждый раз, когда изменяется значение Пикера.

 @IBAction func datePicker(_ sender: UIDatePicker)  {

        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy/MM/dd"
       var DateString = dateFormatter.string(from: sender.date)

        return
    }

Я уверен, что это просто, но я новичок ie. Спасибо

Ответы [ 3 ]

3 голосов
/ 26 апреля 2020

Попробуйте это

сделать расширение на дату

 extension Date {
            func convertDateToString(format : String) -> String {
                let dateFormatter = DateFormatter()
                dateFormatter.dateFormat = format
               return dateFormatter.string(from: self)
        }
    }

в вашем V C

let dateFormat = "yyyy/MM/dd"
var currentDate = Date().convertDateToString(format: dateFormat) // to get current date

@IBAction func datePicker(_ sender: UIDatePicker)  {
    currentDate = sender.date.convertDateToString(format: dateFormat)
 }
1 голос
/ 26 апреля 2020

Использование свойства наблюдателя. Он вызывается всякий раз, когда значение изменяется.

var selectedDate : Date = Date() {
    didSet {
        let dateFormatter = DateFormatter()
        dateFormatter.locale = Locale(identifier: "en_US_POSIX")
        dateFormatter.dateFormat = "yyyy/MM/dd"
        dateDisplay.text = dateFormatter.string(from: selectedDate)
    }
}

@IBAction func datePicker(_ sender: UIDatePicker) {
    selectedDate = sender.date
}
0 голосов
/ 26 апреля 2020

Объявите это внутри v c

var currentDate = ""

@IBAction func datePicker(_ sender: UIDatePicker)  {
     let dateFormatter = DateFormatter()
     dateFormatter.dateFormat = "yyyy/MM/dd"
     currentDate = dateFormatter.string(from: sender.date)!
 }
...