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

How to fix 'Cannot assign value of type 'NSDate' to type 'Date?'

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

Cannot assign value of type 'NSDate' to type 'Date?

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

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

因此,如果使用 Swift 3.0 或更高版本,则删除 NS 前缀

在你的例子中,生日对象变量 'birthdate' 是 Date 类型而不是 NSDate

如果您不能在 Date 对象中分配 NSDate,对于在 Date 中分配 NSDate,您首先在 Date 中进行了转换。

newBirthday.birthdate = birthdate