string - 条件绑定(bind)的初始化程序必须具有 Optional 类型,而不是 HTTPCookieStorage 上的 'String'

标签 string swift option-type conditional-binding

<分区>

不确定为什么我会收到此错误,但我在更新到 Swift 2 时收到了它。

如果 let token = cookie.value {

Initializer for conditional binding must have Optional type, not 'String'

func saveAuthToken() {
    if let cookies = VPAPICall.sharedInstance.session?.configuration.HTTPCookieStorage?.cookies {
        for cookie in cookies {
            if cookie.name.uppercaseString == "VIEQUES_SESSION_ID" {
                if let token = cookie.value {
}

最佳答案

因为cookie.value不是可选的,它的类型是String。

您不能对非可选类型使用 if let 语法。

应该让token = cookie.value,或者直接用.value。

关于string - 条件绑定(bind)的初始化程序必须具有 Optional 类型,而不是 HTTPCookieStorage 上的 'String',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32850021/

相关文章:

ios - 如何在 Storyboard中连接下一个 View Controller 后推送 View Controller

double 的 Swift 可选和默认值

swift - 在 Swift 中为 Optional 提供默认值?

ios - Swift 3 中的 nextResponder

java - 如何正确使用Optional和 `@RequestBody`?

php - 匹配几个字母和字母与数字

Java 替换/替换所有奇怪的行为

python - 在python中连接字符串有什么更好的方法?

swift - 希腊字母的字符串范围不一致

ios - 覆盖准备方法的 Swift 发送器