这个问题在这里已有答案:
如何解开实体的日期@IBOutlet weak var dob: UIDatePicker!
var selectedEntity: TestEntity!
我有以下方式没有人工作
self.dob.date = self.selectedEntity?.dob!
//错误编译时间
qazxsw poi //警告即将来临,如果日期为零则运行时崩溃
self.dob.date = self.selectedEntity?.dob as! Date
是可选的。它的所有值都是可选的。有关更多信息,请参阅Swift文档中的self.selectedEntity?
。在将它们用作非可选对象之前,您需要解包您的选项。这就是你在Optional Chaining使用!
符号时所做的事情。该力量打开可选项,如果它为零,则您的应用程序将崩溃。您的self.selectedEntity?.dob!
对象不是可选的,因此您必须在使用之前打开可选的self.dob.date
对象。您可以安全地用这样的东西打开你的self.selectedEntity?.dob
对象。
self.selectedEntity
安全地打开if let selectedEntity = selectedEntity {
self.dob.date = selectedEntity.dob
}
。
selectedEntity
每当Xcode建议使用if let selectedEntity = self.selectedEntity {
self.name.text = selectedEntity.name
self.dob.date = selectedEntity.date
}
时,不要这样做。这是Xcode最糟糕的特性。