[英]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.