2011-08-27 3 views
2

j'ai une réponse du serveur qui est NSString et ressemble à ceConversion NSString à la valeur paire de clés

resp = poignée de main & clientid = 47D3B27C048031D1 & succès = true & version = 1.0

Je veux convertir à la paire de valeur clé, quelque chose comme dictionnaire ou dans un tableau. Je n'ai pas trouvé de fonction intégrée utile pour décoder le NSString en NSdictionary et en remplaçant le & avec l'espace n'a pas résolu mon problème, quelqu'un peut-il me donner une idée ou y at-il une fonction pour ce problème?

Répondre

8

Cela devrait fonctionner (du haut de ma tête):

NSMutableDictionary *pairs = [NSMutableDictionary dictionary]; 

for (NSString *pairString in [str componentsSeparatedByString:@"&"]) { 
    NSArray *pair = [pairString componentsSeparatedByString:@"="]; 

    if ([pair count] != 2) 
     continue; 

    [pairs setObject:[pair objectAtIndex:1] forKey:[pair objectAtIndex:0]]; 
} 

ou vous pouvez utiliser un NSScanner, mais pour quelque chose d'aussi court une chaîne de requête le couple supplémentaire de tableaux ne fera pas une performance différence.

+0

merci beaucoup, ça fonctionne. – Milianoo

Questions connexes