【问题标题】:NSMutableDictionary value lookupNSMutableDictionary 值查找
【发布时间】:2012-05-01 14:43:20
【问题描述】:
查看 NSMutableDictionary 以查看是否有对应于另一个变量的键的好方法是什么?
假设我有一个 NSString “测试”
以及一个可变字典,其中包含一些值和这些值的 NSString 键。
阅读字典值以查看其任何键是否为“测试”的好方法是什么。
我是否必须有一个 for 循环来读取字典值,或者是否已经有 NSDictionary 对象的一部分可以做到这一点,而我没有看到。
【问题讨论】:
标签:
iphone
objective-c
ios
nsmutabledictionary
【解决方案1】:
您可以使用keysOfEntriesPassingTest: 方法查找值等于@"test" 的所有键。
在下面的实现中,只会找到第一个键。如果您需要对象为@"Test" 的所有键,请不要分配*stop。
NSString *target = @"test";
NSSet *keys = [myDictionary keysOfEntriesPassingTest:^(id key, id obj, BOOL *stop) {
return (*stop = [target isEqual:obj]);
}];
【解决方案2】:
如果你想要的只是key正好是“test”的那个,我想你可以用objectForKey:来尝试获取对应的对象。如果键不存在,则返回的对象将为 nil。