在Swift中,为什么我在尝试从字符串转换为日期时出错?

时间:2014-07-04 12:02:58

标签: string date swift textfield

我已经尝试了几种解决方案来阻止此错误,但失败了。我的错误是EXC_BAD_INSTRUCTION。任何帮助将不胜感激。

let datef = NSDateFormatter()
datef.dateStyle = .MediumStyle
var mydate = datef.dateFromString(textfieldjobdate.text)
println("\(textfieldjobdate.text) date is coming up as: \(mydate)")
newItem.custjobdatestart = mydate

即使是println按钮也显示存在问题。在textield中,由datepicker填充,如果有帮助,则日期格式为dd MMM yyyy。

我需要将结果作为NSDate才能将值保存到我的CoreData数据库

1 个答案:

答案 0 :(得分:1)

您收到错误,因为dateFromString返回nil。它返回nil,因为输入字符串与指定的日期格式不匹配。

在Xcode 6游乐场:

let datef = NSDateFormatter()
datef.dateStyle = .MediumStyle
datef.dateFormat  // "MMM d, y"

解决方案:直接将日期格式设置为“dd MMM yyyy”:

datef.dateFormat = "dd MMM yyyy"