如何修复“无法将类型“ NSDate”的值分配为类型“ Date”?

时间:2019-02-19 04:07:56

标签: ios swift date swift4 nsdate

我是Swift的初学者,我正在尝试完成我的第一个应用程序。 当我输入代码时,它向我显示了这一点:

  

无法将类型为“ NSDate”的值分配为类型为“日期”吗?

newBirthday.birthdate = birthdate as NSDate

我尝试编写使该行代码正常工作的语句,但事实并非如此。每次我现在运行它,都会出现6个错误。

let newBirthday = Birthday(context: context)
newBirthday.firstName = firstName
newBirthday.lastName = lastName
newBirthday.birthdayGift = birthdayGift
newBirthday.birthdate = birthdate as NSDate
newBirthday.birthdayID = UUID().uuidString

2 个答案:

答案 0 :(得分:0)

从Swift 3开始,它不再使用Objective-c库NS

因此,如果使用Swift 3.0或更高版本,请删除NS Prefix

在您的情况下,生日对象变量'birthdate'为Date,而不是NSDate

如果您无法在NSDate对象中分配Date,则要在NSDate中分配Date,您必须先在Date中进行投射。

newBirthday.birthdate = birthdate

答案 1 :(得分:-2)

let newBirthday = Birthday(context: context)
newBirthday.firstName = firstName
newBirthday.lastName = lastName
newBirthday.birthdayGift = birthdayGift
newBirthday.birthdate = birthdate as Date
newBirthday.birthdayID = UUID().uuidString