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:
indexOfObject
sendsisEqual
messages to do the comparison – you’ve not replaced this method in a category?- Make sure you’re testing against
NSNotFound
for failure to locate, and not (say) 0.