"Variable binding in a condition requires an initializer" Swift 2.0 中的错误



嗨Stackoverflow社区,

我正在寻找一些帮助与Swift 2.0。我最近升级了我的Xcode到iOS9,当构建我的应用程序时,它失败了,出现以下错误:

"条件中的变量绑定需要初始化式"——这是对以下代码片段的引用:

private func isRedirectToApp(url: NSURL) -> Bool {
    if let NSURL(string: self.oauthState.redirectUri)?.scheme,
           redirectScheme = url.scheme {
        return NSURL == redirectScheme
    }
    return false
}

有人可以帮助我解决这个问题,也许或指导我一些资源?我曾向Apple Resources寻求帮助,但无济于事。

使用if let安全地打开可选的NSURL,然后使用非可选的scheme属性:

private func isRedirectToApp(url: NSURL) -> Bool {
    if let redirectURL = NSURL(string: self.oauthState.redirectUri) {
        let redirectScheme = redirectURL.scheme
        return url == redirectScheme
    }
    return false
}

此外,您使用NSURL而不是参数url来进行布尔比较。

相关内容

最新更新