我有一本字典申報,這樣,目標C:比較詞典內容
NSString *responseString = [request responseString];
responseDict = [responseString JSONValue];
for (id key in responseDict){
NSLog(@"%@ : %@", key, [responseDict objectForKey:key]);
}
結果:
013-01-22 00:14:02.323 PromoTest[2352:c07] A : 0
2013-01-22 00:14:02.325 PromoTest[2352:c07] B : 1
2013-01-22 00:14:02.325 PromoTest[2352:c07] C : 0
現在,我要比較的價值,做它的一些操作。我推測值的關鍵是類的NSString,並比起來我不變的NSString,這樣,
NSString *myString1 = @"0";
NSString *myString2 = [responseDict objectForKey:@"A"];
NSLog(@"%d", (myString1 == myString2)); //1
NSLog(@"%d", [myString1 isEqualToString:myString2]); //1
結果:
2013-01-22 00:19:12.966 PromoTest[2423:c07] 0
2013-01-22 00:19:12.966 PromoTest[2423:c07] 0
我要去哪裏錯了?我的比較錯了嗎?我如何正確比較內容?
正從Web服務接收數據作爲響應數據。我只是將數據轉換成字典以便於使用它。 Web服務返回一個JSON對象,
{"A":0,"B":1,"C":0}
«我認爲一個鍵的值類型的NSString的»它看起來像假設可能是錯誤的。你應該先驗證一下。然後看看[瞭解NSString比較](http://stackoverflow.com/questions/3703554/understanding-nsstring-comparison-in-objective-c) –
任何合理的JSON解析器都應該將數字映射到NSNumber而不是NSString。如果乍一看對你來說不明顯,那麼閱讀你正在使用的JSON解析器的文檔。 – 2013-01-21 18:59:54
默認obj-c字典中鍵和值的類型是id – tttthomasssss