Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSDictionary在objective c ios7中是否具有查找位置类型的功能_Objective C_Ios7_Nsdictionary - Fatal编程技术网

Objective c NSDictionary在objective c ios7中是否具有查找位置类型的功能

Objective c NSDictionary在objective c ios7中是否具有查找位置类型的功能,objective-c,ios7,nsdictionary,Objective C,Ios7,Nsdictionary,假设我的字典里有一个记录列表。我知道我可以很容易地在记录中循环,以获得我想要或添加的所有值,如果条件允许,可以检查我想要的特定值 但我的问题是,NSDictionary是否有一个内置函数调用,允许您在不循环的情况下获取集合中的特定记录?有点像在数据库中执行SELECT-WHERE X=“blah blah”的方式 如果有一种更简单的方法我不知道的话,这是一个比任何事情都更奇怪的问题。你在找这样的东西吗: NSSet * keysPassingTest = [dict keysOfEntriesP

假设我的字典里有一个记录列表。我知道我可以很容易地在记录中循环,以获得我想要或添加的所有值,如果条件允许,可以检查我想要的特定值

但我的问题是,NSDictionary是否有一个内置函数调用,允许您在不循环的情况下获取集合中的特定记录?有点像在数据库中执行SELECT-WHERE X=“blah blah”的方式


如果有一种更简单的方法我不知道的话,这是一个比任何事情都更奇怪的问题。

你在找这样的东西吗:

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的使用进行了一些研究之后,这似乎更像是我想要的功能。谢谢。嘿,洛根,我认为拉姆关于“谓词”用法的回答更符合我的要求