Swift 条件中的变量绑定需要初始值设定项/模式匹配条件中的';案例';关键词

Swift 条件中的变量绑定需要初始值设定项/模式匹配条件中的';案例';关键词,swift,Swift,有人能帮我解决这个错误吗?我正在尝试为我的应用程序实现Facebook登录按钮 if var FBSDKAccessToken.currentAccessToken() { fetchProfile() } } func fetchProfile() { print ("fetch profile") let parameters = ["fields": "email, first_name, last_name, picture.type(larg

有人能帮我解决这个错误吗?我正在尝试为我的应用程序实现Facebook登录按钮

if var FBSDKAccessToken.currentAccessToken() {
        fetchProfile()
    }
}

func fetchProfile() {
    print ("fetch profile")

    let parameters = ["fields": "email, first_name, last_name, picture.type(large)" ]
    FBSDKGraphRequest(graphPath: "me", parameters: parameters).startWithCompletionHandler { (connection, result, error) in

        if error != nil {
            print (error)
            return
        }

        if let email = result["email"] as? String {
            print (email)
        }

        print (result)
    }
}
没有任何意义。如果
currentAccessToken()
返回bool,则可以

if FBSDKAccessToken.currentAccessToken()
否则,如果它返回可选值,则可以

if let token = FBSDKAccessToken.currentAccessToken()

没有任何意义。如果
currentAccessToken()
返回bool,则可以

if FBSDKAccessToken.currentAccessToken()
否则,如果它返回可选值,则可以

if let token = FBSDKAccessToken.currentAccessToken()


我正在使用
let foo as
编写一个Switch语句,如下所示:

switch (vc) {
case let vc as SomeSubclass: ()
default: ()
}
我最终将其转换为if语句,但无意识地复制/粘贴了一些旧代码:

if let vc as SomeSubclass {

}
这会产生错误:

条件中的模式匹配需要“case”关键字

if
当然需要更改为正常if-let格式:

if let vc = vc as? SomeSubclass {

}

我正在使用
let foo as
编写一个Switch语句,如下所示:

switch (vc) {
case let vc as SomeSubclass: ()
default: ()
}
我最终将其转换为if语句,但无意识地复制/粘贴了一些旧代码:

if let vc as SomeSubclass {

}
这会产生错误:

条件中的模式匹配需要“case”关键字

if
当然需要更改为正常if-let格式:

if let vc = vc as? SomeSubclass {

}

@别忘了接受最能解决你问题的答案。@ChrisBowser别忘了接受最能解决你问题的答案。