-6

如何获取字典的值而不是循环。我知道如何使用以下方法获取单个值:

NSString *valueStr = [dict objectForKey:@"Key2"];

我需要通过循环所有键来获取,我需要在字典中搜索一个值。

4

4 回答 4

1

由于看起来您正在尝试使用NSDictionary,因此您需要执行以下操作:

for (NSString *key in [dict allKeys]){
    NSLog(@"%@", [dict objectForKey:key]);
}

或者如果您不想使用循环,您可以执行以下操作:

NSArray *keys = [dict allKeys];
NSArray *values = [dict allValues];
于 2012-11-15T12:51:49.483 回答
0
for (NSString *key in <#dictionary#>)
{
    <#!loopcontents#>
    [dictionary objectForKey:key]
}
于 2012-11-15T12:49:01.613 回答
0

你似乎有一个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);
}
于 2012-11-15T12:49:24.240 回答
0

结合 Omarj 和 Rene 的答案:

for (NSString *key in [dict allKeys])
{
    NSString *value = [dict objectForKey:key];
}
于 2012-11-15T12:51:35.310 回答