Objective c NSDictionary在objective c ios7中是否具有查找位置类型的功能
假设我的字典里有一个记录列表。我知道我可以很容易地在记录中循环,以获得我想要或添加的所有值,如果条件允许,可以检查我想要的特定值 但我的问题是,NSDictionary是否有一个内置函数调用,允许您在不循环的情况下获取集合中的特定记录?有点像在数据库中执行SELECT-WHERE X=“blah blah”的方式Objective c NSDictionary在objective c ios7中是否具有查找位置类型的功能,objective-c,ios7,nsdictionary,Objective C,Ios7,Nsdictionary,假设我的字典里有一个记录列表。我知道我可以很容易地在记录中循环,以获得我想要或添加的所有值,如果条件允许,可以检查我想要的特定值 但我的问题是,NSDictionary是否有一个内置函数调用,允许您在不循环的情况下获取集合中的特定记录?有点像在数据库中执行SELECT-WHERE X=“blah blah”的方式 如果有一种更简单的方法我不知道的话,这是一个比任何事情都更奇怪的问题。你在找这样的东西吗: NSSet * keysPassingTest = [dict keysOfEntriesP
如果有一种更简单的方法我不知道的话,这是一个比任何事情都更奇怪的问题。你在找这样的东西吗:
NSSet * keysPassingTest = [dict keysOfEntriesPassingTest:^BOOL(id key, id obj, BOOL *stop) {
if ([obj isEqualToString:@"Blah Blah"]) {
return YES;
}
else {
return NO;
}
}];
这将为您提供一组所有键,这些键对应于一个等于“blah blah”的值。NSPredicate可能就是您要找的……我被您的问题弄糊涂了。因此,如果字典中的特定对象与您的规范相匹配,您希望获取它吗?所以你想要任何和所有对象都等于“废话”?Larme,在根据你的建议对NSPredicate的使用进行了一些研究之后,这似乎更像是我想要的功能。谢谢。嘿,洛根,我认为拉姆关于“谓词”用法的回答更符合我的要求