当我运行代码时,我收到此错误:
/Users/ayaangrover/Documents/Github/waffle/Waffle/Waffle/ContentView.swift:46:19 条件绑定的初始化程序必须具有可选类型,而不是“String”。
编辑后的代码在这里(错误出现
accessToken?
):
guard let user = result?.user,
let idToken = user.idToken?.tokenString,
let accessToken = user.accessToken?.tokenString else {
print("Error retrieving tokens")
return
}
如果您需要,可以在 https://github.com/ayaangrover/waffle 获取完整代码。
我尝试通过删除
?
之后的 accessToken
来修复它,但收到错误
/Users/ayaangrover/Documents/Github/waffle/Waffle/Waffle/ContentView.swift:46:53 无法对“GIDToken”类型的非可选值使用可选链接
删除
?
,您的方向是正确的。accessToken
声明是条件绑定的一部分,在您的情况下它有 3 个部分,并且所有 3 个值都必须是可选的。accessToken
声明移出条件绑定。所以你的代码看起来像这样:
guard let user = result?.user,
let idToken = user.idToken?.tokenString else {
print("Error retrieving tokens")
return
}
let accessToken = user.accessToken.tokenString