NSArray充满了NSDictionaries.如何找到对象的索引?

Sma*_*ree 7 iphone xcode objective-c nsarray ios

我有一个array充满了NSDictionaries.我想找到index一本字典,但我对这本字典的了解只是一个value关键@"name". 我怎么做?

Mar*_*n R 37

查找第一库的指标theArray,其值@"name"是theValue:

NSUInteger index = [theArray indexOfObjectPassingTest:
        ^BOOL(NSDictionary *dict, NSUInteger idx, BOOL *stop)
        {
            return [[dict objectForKey:@"name"] isEqual:theValue];
        }
];
Run Code Online (Sandbox Code Playgroud)

index会NSNotFound如果没有匹配的对象被发现.

  • @SmartTree:2147483647 = 0x7FFFFFFF是`NSNotFound`. (2认同)
  • @Rambatino:这个方法*会在找到匹配后立即停止迭代.该块可以将stop参数设置为NO以过早地停止迭代,在这种情况下该方法将返回NSNotFound.例如,如果在前1000个元素中找不到匹配项,则可以停止迭代.- 这是否回答你的问题? (2认同)
  • 完善。感谢您提供的简洁解决方案! (2认同)