2015-01-05 4 views
0

Я изменил мою базовую модель данных, добавив атрибут к сущности. Я сделал легкую миграцию, но когда я запускаю приложение, я получаю нуль для некоторых для добавленного атрибута и, таким образом, сбой. Я просто хочу проверить нуль и исключить атрибут, если он равен нулю, чтобы избежать сбоя. Я пытался сделать это с помощью оператора 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)" 

    } 

«Комментарии» - это строка из Core Data. Я знаю, что ошибка имеет какое-то отношение к тому, что я не могу сравнивать строку с nil, но я не уверен, как это сделать.

Спасибо за помощь!

+0

Вы пробовали синтаксис 'if let'? –

+0

он все еще жалуется на попытку сравнить строку с nil – Leighton

+1

Тогда, возможно, ваше свойство Core Data не является необязательным типом? Какой тип является свойством - это 'String' или' String? 'Или' String! '? Если это первый, то вы действительно не можете сравнить его с nil, потому что Swift считает, что он должен иметь значение. –

ответ

2
var comments: String? = nil 
if let comments = comments { 
    println(comments) 
} else { 
    println("empty") 
}  
Смежные вопросы