Как развернуть колбэк в swift? - PullRequest
0 голосов
/ 03 марта 2020

Я использую FB Login для своего приложения в Swift, и когда я делаю запрос графика, он возвращает следующий результат:

Optional({
    email = "arjun.ramjams@gmail.com";
    id = 10218497873670001;
    name = "Arjun Ram";
})

Теперь, как я должен читать, каждое отдельное значение (то есть: адрес электронной почты, идентификатор и имя)?

Ответы [ 3 ]

0 голосов
/ 03 марта 2020

Вам необходимо использовать if let или guard let для развертывания объекта или переменной, например:

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

или

guard let result = result as? [String: Any] else {
    // return something
}
0 голосов
/ 03 марта 2020
func fetchProfile() {
        let parameters = ["fields": "id,email, first_name, last_name"]
        GraphRequest(graphPath: "me",parameters: parameters).start{(connection, user, Err) in
            if Err != nil {
                print(Err!)
                return

            }
            let dic = user as! NSDictionary
            let userID = dic["id"] as! String
            let Email = dic["email"] as! String
            let fname = dic["first_name"] as! String
            let lname = dic["last_name"] as! String

        }

}
0 голосов
/ 03 марта 2020

result - это Dictionary типа [String:Any]?.

let result:[String:Any]? = [
    "email":"arjun.ramjams@gmail.com",
    "id" : 10218497873670001,
    "name":"Arjun Ram"
]

Вы можете выбрать поля из result как,

let email = result?["email"] as? String
let id = result?["id"] as? Int
let name = result?["name"] as? String
...