来自' String'的条件性贬低到' String'总是成功 - 斯威夫特错误

时间:2014-08-23 18:51:55

标签: xcode swift

我试图在Swift中对String进行有效检查,但是我收到错误Conditional downcast from 'String' to 'String' always succeeds

创建了zipCode:

var zipCode = String()

稍后检查有效字符串:

if let code = zipCode as? String {
    println("valid")
}

有人可以帮我理解我做错了吗?

1 个答案:

答案 0 :(得分:17)

如果zipCode可以“取消设置”,那么您需要将其声明为可选:

var zipCode: String?

此语法:

if let code = zipCode {
    println("valid")
}

用于检查可选变量是否具有值,或者是否仍未设置(nil)。如果设置了zipCode,那么code将是String类型的常量,您可以使用它来安全地访问字符串的内容。