SmartTree
SmartTree

Reputation: 1471

NSArray full of NSDictionaries. How to find index of object?

I have an array which is filled with NSDictionaries. I want to find the index of one of the dictionary, but what I know about this dictionary is only a value for key @"name". How do I do it ?

Upvotes: 9

Views: 6599

Answers (2)

kartik patel
kartik patel

Reputation: 536

 NSArray *temp = [allList valueForKey:@"Name"];
 NSInteger indexValue = [temp indexOfObject:YourText];
 NSString *name = [[allList objectAtIndex:indexValue] valueForKey:@"Name"]  

Upvotes: 1

Martin R
Martin R

Reputation: 539775

Find index of first dictionary in theArray whose value for @"name" is theValue:

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

index will be NSNotFound if no matching object is found.

Upvotes: 40

Related Questions