2015-12-02 3 views
0

Я не знаю, как отливать значение из NSCFDictionary в swift. У меня есть следующее сообщение об ошибке:Значение отливки NSCFDictionary (swift)

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

Любая помощь действительно оценили.

С уважением.

КОД:

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

Я действительно пытаюсь ввести токен Facebook, полученный через классический FBSDK, чтобы идентифицировать и создать пользователя Parse. И я получаю указанную ошибку. (Я новичок) –

+1

Почему вы думаете, что можете использовать 'user' для' PFUser'? 'user' выглядит как« NSDictionary », полученный из Facebook. Это далеко не так, как «PFUser». – rmaddy

ответ

0

Это очень и очень маловероятно, что вы можете бросить непосредственно PFUser. Кастинг поддерживается только для близких типов, таких как NSNumber и Int.

Скорее всего у вас есть класс PFUser, который может быть инициализирован методом init, который использует какой-то словарь в качестве параметра. Если это так, CFDictionary и NSDictionary - это в основном одно и то же.

Если это не так, то вам нужно написать код, который создает PFUser, и заполняет его данными, которые вы извлекаете вручную из NSDictionary.

+0

Третий вариант - это то, что я сделал. Спасибо за ваши замечания! (просто совет: в следующий раз введите код, включая пример, если вы знаете, что запрос исходит от новичка) –

Смежные вопросы