2016-12-14 68 views
0

我通過通過Firebase Facebook身份驗證登錄用戶來獲取用戶的Facebook個人資料詳細信息。在swift中獲取[String:AnyObject]的更深嵌套值3

嵌套數組是這樣的:

["picture": { 
    data = { 
     "is_silhouette" = 0; 
     url = "someUrl"; 
    }; 
}, "name": James, "last_name": Bond, "email": [email protected], "id": 10210066243726102, "first_name": James, "gender": male] 

林掙扎着爬圖片URL的值。

我想是這樣的,但它不工作:

var fbPhotoUrl: URL? 
self.fbPhotoUrl = self.FBUserDict["picture"]!["data"]!["url"] as? URL 

回答

1

嘗試是這樣的:

if let picture = FBUserDict["picture"] as? [String: Any], let data = picture["data"] as? [String: Any], let urlString = data["url"] as? String, let url = URL(string: urlString) { 

    self.fbPhotoUrl = url 
} 
+0

我複製粘貼你的代碼還是一樣@LeoDabus – beckas

+0

'打印(個體經營.fbPhotoUrl?.absoluteString ??「」)' –

+2

@LeoDabus print(self.fbPhotoUrl ??「」)工作。 thanx很多人 – beckas