swift programmation NSErrorPointer d'erreur etc
var data: NSDictionary =
NSJSONSerialization.JSONObjectWithData(responseData, options:NSJSONReadingOptions.AllowFragments, error: error) as NSDictionary;
Cette ligne de code me donne l'erreur
NSError is not convertable to NSErrorPointer.
Donc j'ai pensé alors à modifier le code pour:
var data: NSDictionary =
NSJSONSerialization.JSONObjectWithData(responseData, options:NSJSONReadingOptions.AllowFragments, error: &error) as NSDictionary;
qui serait à son tour la NSError erreur dans un NSErrorPointer. Mais puis-je obtenir un nouveau message d'erreur et ne peut pas faire sens:
NSError! is not a subtype of '@|value ST4'
Vous devez vous connecter pour publier un commentaire.
Ces types et les méthodes ont beaucoup changé depuis Swift 1.
NS
préfixe est suppriméCette résultats dans le code suivant:
De, si vous n'aimez pas à propos de l'erreur d'analyse:
Réponse Originale À Cette Question
Votre NSError doit être défini comme un
Optional
car il peut être nul:Vous aussi vous voulez un compte pour qu'il y ait une erreur dans l'analyse qui sera de retour
nil
ou l'analyse de retourner un tableau. Pour ce faire, nous pouvons utiliser une option de casting avec leas?
opérateur.Qui nous laisse avec le code complet:
Comme mentionné précédemment, l'erreur doit être définie en option (https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/buildingcocoaapps/AdoptingCocoaDesignPatterns.html)
Toutefois - Ce code VA planter si il y a une erreur et nil est retourné, le "Comme NSDictionary" serait le coupable:
Vous avez besoin de faire le parsing json comme ceci:
Qui va travailler. Rappelez-vous aussi json peut revenir comme un tableau. Au lieu de passer néant pour les options que vous pouvez entrer ce que vous voulez, par exemple:
si vous le souhaitez.
Maintenant en bêta-3
var error: NSErrorPointer? = nil
pour de courtesVérifier Avec le code ci-dessous:
Essayez d'utiliser