从'String'到'String'的条件向下转换总是成功 - Swift Error

Kyl*_*egg 4 xcode swift

我试图基本上对Swift中的String进行有效检查,但是我收到了一个错误Conditional downcast from 'String' to 'String' always succeeds.

zipCode已创建:

var zipCode = String()
Run Code Online (Sandbox Code Playgroud)

稍后检查有效字符串:

if let code = zipCode as? String {
    println("valid")
}
Run Code Online (Sandbox Code Playgroud)

有人能帮助我理解我做错了什么吗?

vac*_*ama 20

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

var zipCode: String?
Run Code Online (Sandbox Code Playgroud)

这个语法:

if let code = zipCode {
    print("valid")

    // use code here
}
Run Code Online (Sandbox Code Playgroud)

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