Ios 无法调用'==';争论不休

Ios 无法调用'==';争论不休,ios,core-data,swift,migration,Ios,Core Data,Swift,Migration,我通过向实体添加属性来更改我的核心数据模型。我已经做了一个轻量级迁移,但是当我运行应用程序时,对于添加的属性,我得到了一个零,因此崩溃。我只想检查nil,如果该属性为nil,则排除该属性,以避免崩溃。我试图用if语句来实现这一点,但标题中出现了错误。我怎样才能避开这件事 if comments == nil { cell.textLabel!.text! = "\(totalWorkTimeInHours) hours" cell.detailTextLabel!

我通过向实体添加属性来更改我的核心数据模型。我已经做了一个轻量级迁移,但是当我运行应用程序时,对于添加的属性,我得到了一个零,因此崩溃。我只想检查nil,如果该属性为nil,则排除该属性,以避免崩溃。我试图用if语句来实现这一点,但标题中出现了错误。我怎样才能避开这件事

if comments == nil {
        cell.textLabel!.text! = "\(totalWorkTimeInHours) hours"
        cell.detailTextLabel!.text! = "Date: \(dateString)"

    } else {

        cell.textLabel!.text! = "\(totalWorkTimeInHours) hours"
        cell.detailTextLabel!.text! = "Date: \(dateString)\nComments: \(comments)"

    }
“注释”是来自核心数据的字符串。我知道这个错误与我不能将字符串与nil进行比较这一事实有关,但我不确定还有其他方法可以做到这一点


谢谢你的帮助

您是否尝试过
if let
语法?它仍然抱怨试图将字符串与nil进行比较,那么您的核心数据属性可能不是可选类型?属性是什么类型的?它是
String
还是
String?
还是
String?如果它是第一个,那么你真的不能将它与nil进行比较,因为Swift认为它必须有一个值。它被设置为String,我将它改为String!我相信它正在按照我现在想要的方式工作。谢谢
var comments: String? = nil
if let comments = comments {
    println(comments)
} else {
    println("empty")
}