我在Swift项目中使用CoreData。
我的数据库中有一个当前用户,我想更新他的生日。默认情况下,他的生日不是注册:在CoreData中,检查此属性的“可选”。
我有一些麻烦来测试这个生日值是否为零。检索用户后,我尝试测试此属性。
我尝试了以下代码
if user!.birthdate.isEqual(nil) {
println("Birthdate is nil")
}
和这一个
if user!.birthdate == nil {
println("Birthdate is nil")
}
第一个总是错误的,第二个不能编译。
但是,如果我之前尝试打印该值的描述,我在日志中看到了这一点:
Printing description of $R0:
<nil>
但是我的变量视图显示了一个不同的值:
所以,我在这些信息之间有点迷失。有谁知道如何在Swift中测试CoreData中的空NSDate?
谢谢,
本
编辑
我也尝试过其他问题的代码
if let birthdate = user!.birthdate{
// my code here
} else {
println("Birthday nil")
}
它不编译,因为“条件绑定中的绑定值必须是可选类型”。我的属性对于CoreData是可选的,但在我生成的NSManagedObject文件中不是。