我在CoreData
中有一个接受日期值的属性。我只想获取UIDatePicker
日期并以dd/mm/yyyy
格式保存。
但是不知道如何。谢谢
let newUser = NSEntityDescription.insertNewObject(forEntityName: "Person", into: Constant.context!)
newUser.setValue(self.txtName!.text, forKey: Constant.CDName)
newUser.setValue(self.txtEmail!.text, forKey: Constant.CDEmail)
newUser.setValue(self.txtPassword!.text, forKey: Constant.CDPassword)
newUser.setValue(self.txtDob.text, forKey: Constant.CDDob) as! String
do {
try Constant.context?.save() }
因此,当我单击UITextfield
时UIDatePicker
已打开,我可以选择日期。然后,当我单击保存按钮时,我想将以上所有内容保存在CoreData
中。我可以保存数据,期望日期。
答案 0 :(得分:0)
您甚至可以直接保存日期而不是文本格式。
尝试一下:
@IBAction func saveButtonTapped(_ sender: UIButton) {
let dateFormatter = DateFormatter()
....
let dateString = dateFormatter.string(from: datePicker.date)
self.txtDob.text = dateString
self.txtDob.resignFirstResponder()
//Save to your Core Data
}
答案 1 :(得分:0)
嘿,尝试了几次之后,我找到了正确的方法。这是帮助我解决此问题的代码。
let datePicker = UIDatePicker()
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let myString = formatter.string(from: datePicker.date)
let yourDate = formatter.date(from: myString)
let newUser = NSEntityDescription.insertNewObject(forEntityName: "Person", into: Constant.context!)
newUser.setValue(self.txtName!.text, forKey: Constant.CDName)
newUser.setValue(self.txtEmail!.text, forKey: Constant.CDEmail)
newUser.setValue(self.txtPassword!.text, forKey: Constant.CDPassword)
newUser.setValue(yourDate, forKey: Constant.CDDob)
do {
try Constant.context?.save()}
再次感谢您的帮助。