Swift 2.0 中的“条件中的变量绑定需要初始值设定项”错误

use*_*657 3 xcode ios swift2

您好 Stackoverflow 社区,

我正在寻找有关 Swift 2.0 的帮助。我最近升级了 iOS9 的 Xcode,在构建我的应用程序时,它失败并出现以下错误。

“条件中的变量绑定需要初始化程序” - 这是参考以下代码片段:

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

有人可以帮助我解决这个问题或指导我找到一些资源吗?我四处寻找苹果资源的帮助,但没有成功。

aya*_*aio 5

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

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

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