转换值NSCFDictionary(swift)

问题描述:

我不知道如何从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

这是非常非常不可能的,你可以直接PFUser。铸造仅支持密切相关的类型,如NSNumber和Int。

很可能你有一个PFUser类,它可以用一个将某种字典作为参数的init方法初始化。如果是这样的话,CFDictionary和NSDictionary基本上是一回事。

如果不是这种情况,那么您需要自己编写代码来创建一个PFUser,并使用您从NSDictionary手动提取的数据填充代码。

+0

第三种选择是我所做的。 感谢您的精确! (只是一个提示:如果你知道请求来自初学者,下次键入一些代码,包括一个例子) –