extrait de la Chaîne de valeurs de Dictionnaire<String, AnyObject> en Swift
Je veux juste extraire certaines valeurs de chaîne à partir d'un json réponse rapide, mais je ne peux pas trouver un moyen simple de le faire.
var result: Dictionary<String, AnyObject> = [ "name" : "Steve", "surname" : "Jobs"]
if let name = result["name"] {
//Warning: Constant 'name' inferred to have 'AnyObject', which may be unexpected
}
if let name = result["name"] as String {
//Error: (String, AnyObject) is not convertible to String
}
Quelle est la bonne façon ?
acclamations
OriginalL'auteur Jan | 2014-08-03
Vous devez vous connecter pour publier un commentaire.
Dans Swift,
String
est un struct, pas une classe. Le protocole que vous devez utiliser estAny
, pasAnyObject
. Alternativement, vous pouvezimport Foundation
et abattuAnyObject as? NSString
.Parlant de passer, vous avez pour ce faire éventuellement, à l'aide de la
?
de l'opérateur. Votre code final devrait ressembler à ceci:P. S. Vous pouvez utiliser la nouvelle
[KeyType: ValueType]
annotation au lieu deDictionary<KeyType, ValueType>
.[KeyType: ValueType]
ne fonctionne pas (l'utilisation de non déclarées de type "KeyType"). J'utilise Xcode beta 4.Euh... C'était un espace réservé. Dans votre cas, vous devez utiliser
[String: Any]
.OriginalL'auteur akashivskyy
Essayer SwiftyJSON qui est une meilleure façon de traiter avec les données JSON dans Swift
OriginalL'auteur tangplin