转换值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!")
}
}
}
}
}
答
这是非常非常不可能的,你可以投直接PFUser。铸造仅支持密切相关的类型,如NSNumber和Int。
很可能你有一个PFUser类,它可以用一个将某种字典作为参数的init方法初始化。如果是这样的话,CFDictionary和NSDictionary基本上是一回事。
如果不是这种情况,那么您需要自己编写代码来创建一个PFUser,并使用您从NSDictionary手动提取的数据填充代码。
+0
第三种选择是我所做的。 感谢您的精确! (只是一个提示:如果你知道请求来自初学者,下次键入一些代码,包括一个例子) –
注意添加上面声明此值的代码? – rockiesGrizzly
我实际上试图介绍通过传统FBSDK获得的Facebook令牌,以识别并创建一个解析用户。我得到提到的错误。 (我是初学者) –
你为什么认为你可以将'user'强制转换为'PFUser'? 'user'看起来像是从Facebook获得的'NSDictionary'。这远不是“PFUser”。 – rmaddy