ループではなく辞書の値を取得するにはどうすればよいですか。以下を使用して単一の値を取得する方法を知っています。
NSString *valueStr = [dict objectForKey:@"Key2"];
すべてのキーをループして取得する必要があり、辞書で値を検索する必要があります。
NSDictionaryを使用しようとしているように見えるので、次のようにします。
for (NSString *key in [dict allKeys]){
NSLog(@"%@", [dict objectForKey:key]);
}
または、ループを使用したくない場合は、次のことができます。
NSArray *keys = [dict allKeys];
NSArray *values = [dict allValues];
for (NSString *key in <#dictionary#>)
{
<#!loopcontents#>
[dictionary objectForKey:key]
}
を持っているようですがNSDictionary
、次の方法ですべてのキー/値にアクセスできます。
NSArray *keys = [dict allKeys];
NSArray *values = [dict allValues];
https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/Reference/Reference.htmlを参照
もちろん、そのキーと値のペアをループすることができます
for (NSString *key in [dict allKeys]) {
//get value
NSString *value = [dict objectForKey:key];
//print to log
NSLog (@"%@, %@", key, value);
}
Omarj と Rene からの回答を組み合わせる:
for (NSString *key in [dict allKeys])
{
NSString *value = [dict objectForKey:key];
}