iPhone从Key中获取数组的索引

时间:2014-01-01 18:28:56

标签: ios objective-c arrays

我有下一个NSMutableArray

Product[0] {
    name => val1, 
    Price => pricevalue 1
}

Product[1] {
    name => val2, 
    Price => pricevalue2
}

我想搜索:name = val2并返回产品索引,所以1。

2 个答案:

答案 0 :(得分:1)

__block NSUInteger index = NSUIntegerMax;

[products enumerateObjectsUsingBlock: ^ (Product* product, NSUInteger idx, BOOL* stop) {
    if([product.name isEqualToString:@"val2"])
    {
        index = idx;
        *stop = YES;
    }
}];

编辑: Ravindra的解决方案更优雅!

答案 1 :(得分:1)

像这样使用

NSIndexSet *indices = [array 
                       indexesOfObjectsPassingTest:^(id obj, NSUInteger idx, BOOL *stop) {
                       return [[obj objectForKey:@"name"] isEqualToString:@"val2"];
}];

快乐的编码.........