Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Objective-C Search NSArray for String?

I have an array of strings.

How might I be able to figure out what index a string is in a array?

like image 606
Christian Stewart Avatar asked Dec 21 '22 23:12

Christian Stewart


2 Answers

-[NSArray indexOfObject:]

like image 171
Dave DeLong Avatar answered Jan 10 '23 22:01

Dave DeLong


Though very old but this question comes quite high in google search. Here is a version in using block,

- (void)testSearch
{
    NSArray *hashAlgorithms = @[@"SHA1", @"SHA2", @"SHA256", @"SHA384", @"SHA512"];
    NSString *searchFor = @"SHA384";
    __block NSInteger index = NSNotFound;
    [hashAlgorithms enumerateObjectsUsingBlock:^(id alg, NSUInteger idx, BOOL *stop) {
        if ([alg compare:searchFor options:NSCaseInsensitiveSearch] == NSOrderedSame) {
            NSLog(@"Found: %@", searchFor);
            *stop = YES;
            index = idx;
        } else {
            NSLog(@"NOT Equal: %@", alg);
        }
    }];

    if (index == NSNotFound) {
        NSLog(@"Not found. %li", (long)index);
    } else {
        NSLog(@"Found at: %li", (long)index);
    }
}
like image 24
karim Avatar answered Jan 10 '23 22:01

karim