这是我的代码
func enteredByStr(S:String) -> String? {
var healthactionplan : MyHealthActionPlanCondition
if healthactionplan.addedBy != nil {
healthactionplan.addedBy = "System"
} else {
healthactionplan.addedBy = "Member"
}
}
答案 0 :(得分:5)
Type String的值永远不能为nil,不允许比较
错误消息显示所有内容
addedBy是String
。所以在addedBy上查看isEmpty
if healthactionplan.addedBy.isEmpty {
healthactionplan.addedBy = "System"
} else {
healthactionplan.addedBy = "Member"
}
答案 1 :(得分:4)
我认为healthactionplan.addedBy
是字符串,因为错误说Value of Type String can never be nil
这意味着您无法将String
与nil
进行比较..所以请尝试检查字符串是否为空
if healthactionplan.addedBy.isEmpty {
healthactionplan.addedBy = "Member"
} else {
healthactionplan.addedBy = "System"
}
答案 2 :(得分:0)
在我的例子中,字符串不能为零。我需要声明一个可以接受nil的字符串。所以我声明了可选的字符串:
var addedBy: String? = String()
在此之后,我能够检查字符串的nil值。