0
我打電話Facebook的圖形API來獲取登錄到通過Facebook我的應用程序的用戶的電子郵件,Facebook的ID和名稱。調度隊列的異步Web服務調用
我成功獲取信息;我現在試圖使用調度組,以便調用圖的函數在返回之前等待圖API調用完成。圖形請求是異步的。
我想不通爲什麼這個代碼是鎖定的。
1)創建一個調度組
2)輸入所述顯示組
3)離開基團一旦信息被檢索或錯誤被發現
4)等待之前的組離開返回
好像我的調度組輸入不正確調用,但我想不出爲什麼。
class func getFBInformation()->Bool {
var fbResult = false
let fbGraphGroup = DispatchGroup()
fbGraphGroup.enter()
FBSDKGraphRequest(graphPath: "/me", parameters: ["fields": "id, name, email"]).start { (connection, result, err) in
if err != nil {
fbResult = false
print("Pre Error Signal")
fbGraphGroup.leave()
return
}
if let resultDict = result as? [String:AnyObject] {
<Do things with graph results>
print("Pre success signal")
fbResult = true
fbGraphGroup.leave()
}
}
fbGraphGroup.wait()
print("Post signal")
return fbResult
}