gpt4 book ai didi

swift - 使用结果对象的 FBSDKGraphRequest 问题

转载 作者:行者123 更新时间:2023-11-28 12:12:31 28 4
gpt4 key购买 nike

在用户成功登录后,我遇到了 Facebook SDK(swift 4、Xcode 9)的问题,我试图撤回有关用户帐户的一些详细信息,例如他们的电子邮件地址、姓名和图片。

但是下面的代码在这一行给我一个编译器错误

if let email = result["email"] as? String

这是我遇到的错误。

Value of optional type 'Any?' not unwrapped; did you mean to use '!' or '?'?

这是包含获取用户个人资料信息的代码的完整函数。我已经尝试了多种可选的测试,使用'!'但都会导致编译器错误。

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

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

print("In FBSDKGraphRequest")

print(result)
if error != nil {
print(error as Any)
return
}

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

感谢任何帮助。

最佳答案

通常结果可以解释为 swift 字典 [String: Any]。因此,您可以尝试将结果转换为 [String: Any],然后尝试将电子邮件作为字符串。

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

关于swift - 使用结果对象的 FBSDKGraphRequest 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47993842/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com