What you’re doing should work fine. For example
NSArray *a = [NSArray arrayWithObjects:@"Foo", @"Bar", @"Baz", nil];
NSLog(@"At index %i", [a indexOfObject:@"Bar"]);
Correctly logs “At index 1” for me. Two possible foibles:
indexOfObjectsendsisEqualmessages to do the comparison – you’ve not replaced this method in a category?- Make sure you’re testing against
NSNotFoundfor failure to locate, and not (say) 0.