2011-08-27 44 views
2

我有一個從服務器是NSString的,看起來像這樣轉換的NSString鍵值對

RESP =握手&客戶端ID = 47D3B27C048031D1 &成功=真&版本的響應= 1.0

我想把它轉換成鍵值對,像字典或數組。 我找不到任何有用的內置函數來解碼NSString到NSdictionary並用空格替換&並沒有解決我的問題,任何人都可以給我任何想法或有任何功能的這個問題?

回答

8

這應該工作(把我的頭頂部):

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]]; 
} 

,或者你可以使用一個NSScanner,但對於短的東西作爲查詢字符串的額外對數組不會做出業績區別。

+0

非常感謝你,它的工作原理。 – Milianoo