2015-12-02 84 views
0

我不知道如何從NSCFDictionary轉換值在swift中。 我有以下錯誤:轉換值NSCFDictionary(swift)

Could not cast value of type '__NSCFDictionary' (0x193baa5d8) to 'PFUser' (0x100811780)

任何幫助非常感激。

問候。

CODE:

func logUserData() 
{ 

    let graphRequest = FBSDKGraphRequest(graphPath: "me", parameters: nil) 
    graphRequest.startWithCompletionHandler { (connection, user, error) -> Void in 


     if error != nil 
     { 
      print(error) 
     } 
     else 
     { 

      print("fetched user: \(user)") 
      let fbAccessToken1 = FBSDKAccessToken.currentAccessToken() 
      print("fbAccessToken1: \(fbAccessToken1)") 


      //correct? 
      PFFacebookUtils.linkUserInBackground(self.currentUser!, withAccessToken: fbAccessToken1) { 
       (succeeded: Bool, error: NSError?) -> Void in 
       if (succeeded != false) { 
        print("Woohoo, the user is linked with Facebook!") 
       } 
      } 


      } 
    } 
} 
+0

注意添加上面聲明此值的代碼? – rockiesGrizzly

+0

我實際上試圖介紹通過傳統FBSDK獲得的Facebook令牌,以識別並創建一個解析用戶。我得到提到的錯誤。 (我是初學者) –

+1

你爲什麼認爲你可以將'user'強制轉換爲'PFUser'? 'user'看起來像是從Facebook獲得的'NSDictionary'。這遠不是「PFUser」。 – rmaddy

回答

0

這是非常非常不可能的,你可以直接PFUser。鑄造僅支持密切相關的類型,如NSNumber和Int。

很可能你有一個PFUser類,它可以用一個將某種字典作爲參數的init方法初始化。如果是這樣的話,CFDictionary和NSDictionary基本上是一回事。

如果不是這種情況,那麼您需要自己編寫代碼來創建一個PFUser,並使用您從NSDictionary手動提取的數據填充代碼。

+0

第三種選擇是我所做的。 感謝您的精確! (只是一個提示:如果你知道請求來自初學者,下次鍵入一些代碼,包括一個例子) –