2016-12-02 4 views
9

Je suis coincé à un moment où je convertis des données de services Web à NSDictionary. Mais lors de l'accès sur console en mode débogage il renvoie, alors que lorsque je lie les valeurs du dictionnaire avec vue cela fonctionne parfaitement. est sous le code: -<extraction des données de la valeur a échoué> dans NSDictionary

NSDictionary *responseDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&e]; 

et à la console j'utilise po [dictName valueForKey:@"Status"] ainsi que po [dictName objectForKey:@"Status"]. Suivi de quelques étapes mais ne fonctionne pas pour moi 1. Régler le niveau d'optimisation sur aucun déjà dans ce mode. 2.Modifiez le mode de débogage déjà dans ce mode.

+0

Avez-vous essayé d'imprimer le dictionnaire entier? 'po responseDict' –

+0

oui dictionnaire entier est l'impression des valeurs !!! –

+0

Recherche à travers le 'Dict 'imprimé s'il a la clé' Status'. –

Répondre

1

Je rencontre ce problème lorsque j'essaie d'obtenir des informations de Info.plist. Enfin, j'utilise un échange de cordes.

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Info"ofType:@"plist"]; 
    NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath]; 
    NSString *version = [data objectForKey:@"CFBundleShortVersionString"]; 
    self.labVersion.text = [NSString stringWithFormat:@"(%@)", version]; 
+0

En outre: vous pouvez ensuite convertir une valeur de chaîne en valeur booléenne, par exemple version.boolValue, ou en valeur numérique, par exemple version.numberValue si vous le souhaitez, etc. Bool et d'autres types peuvent être extraits incorrectement à partir de dictionnaires plist , parce que les dictionnaires de plist peuvent être réellement ont json-format; c'est ma supposition. Les valeurs de chaîne extraient parfaitement, cependant vous pouvez voir des erreurs en l'extrayant par exemple dans la console Xcode via po: (po plistDictionary [@ "someKeyForExtractingStringValue"]) – pragmus