简体   繁体   English

Dateformatter日期字符串返回nil

[英]Dateformatter date string return nil

When I use DatePicker to set date 当我使用DatePicker设置日期时

It said it was nil 它说没有

Despite I checked the date string format is correct 尽管我检查了日期字符串格式是否正确

And dateFormat is set to format that I want. 并且dateFormat设置为我想要的格式。

Here's code 这是代码

class DatePickerViewController: UIViewController {

var originDate: String!{ 
        didSet{
            //print("\(originDate)") is like "2019/07/12"
            selectedDate = dateFormatter.date(from: originDate)
           //print("\(selectedDate)") is nil
            datePicker.setDate(selectedDate, animated: true)
        }
 }

var selectedDate: Date!
var dateString: String = "yyyy/MM/dd"
var dateFormatter: DateFormatter = DateFormatter()

override func viewDidLoad() {

        dateFormatter.dateFormat = dateString

}

The ShowPickerViewController call DatePickerViewController ShowPickerViewController调用DatePickerViewController

class ShowPickerViewController:UIViewcontroller {

   @IBAction func showDatePicker(_ sender: Any) {

   let vc = DatePickerViewController()

   vc.originDate = sender.text // "2019/07/12"

   present(vc, animated: true)

   }

}

Initialize the date formatter with a closure 用闭包初始化日期格式

let dateFormatter: DateFormatter = {
   let formatter = DateFormatter()
   formatter.dateFormat = "yyyy/MM/dd"
   return formatter
}()

and delete the line in viewDidLoad 并删除viewDidLoad的行

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM