web-dev-qa-db-fra.com

la valeur xcode 8 du type 'Erreur' n'a pas de membre 'userinfo'

Je viens de mettre à niveau vers Xcode 8 et j'obtiens déjà des erreurs qui entraînent l'échec de la construction. Je suis très nouveau chez Swift, aidez-moi s'il vous plaît.

 enter image description here

Que devrais-je changer cela en? Merci

METTRE À JOUR

En plus de cette erreur, j'ai aussi ce qui suit:

PFUser.logInWithUsername(inBackground: usernameTextField.text!, password: passwordTextField.text!, block: { (user, error) -> Void in

                    //self.activityIndicator.stopAnimating()
                    UIApplication.shared.endIgnoringInteractionEvents()

                    if user != nil {

                        self.launchDrawerMenu()

                    } else {

                        let convertedError = error! as NSError

                        //if let errorString = convertedError["error"] as? String {
                            errorMessage = errorString
                        }
                        self.displayAlert("Login failed", message: errorMessage)

                    }
                })

pour la // ligne que j'ai "erreur de type" NSError n'a pas de membre indice ". J'ai essayé de le relier à NSError mais cela ne fonctionne pas cette fois-ci. Que devrais-je faire? Merci beaucoup

18
H. Lamb

Tout d'abord, postez le code (texte) plutôt qu'une capture d'écran.

Dans Swift 3, NSError a été remplacé dans de nombreuses API par un protocole plus générique Swift Error qui ne comporte pas de dictionnaire userInfo. Bridge transforme l'objet en NSError

if let errorString = (error! as NSError).userInfo....
29
vadian

J'ai trouvé cela a fonctionné

let errorUserInfo : NSDictionary? = ((error as Any) as! NSError).userInfo["error"] as? NSDictionary
0
Chris