Значение необязательного типа 'Any?' не развернутый

Я пытаюсь реализовать вход в Facebook. Учитесь на https://www.youtube.com/watch?v=MNfrBdyEvmY но есть ошибка типа выше. Вот мой код:

let parameters = ["fields": "email, first_name, last_name, picture.type(large)"]
    FBSDKGraphRequest(graphPath: "me", parameters: parameters).start { (connection, result, error) in
        if error != nil{
            print(error ?? "error")
            return
        }
        if let email = result["email"] as? String{
            print("Email: \(email)")
        }
    }

введите описание изображения здесь Пожалуйста, помогите мне с этим. Спасибо

2 ответа

Решение

Вам нужно привести тип Any к типу словаря Swift, вы можете сделать это следующим образом:

if let userInfo = result as? [String: Any] {
    let email = userInfo["email"] as? String
}

Эти типы ошибок фактически дают вам возможность использовать функцию автозамены Xcode. Если вы щелкнете по красному кружку, а затем нажмете исправление, которое оно показывает, оно должно автоматически решить вашу проблему. Это не всегда точно, но в 90% случаев это так.

Другие вопросы по тегам