It can be done with a single method call to -[NSArray indexOfObjectWithOptions:passingTest:]
, though it requires passing a block.
[array indexOfObjectWithOptions:NSEnumerationReverse passingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
if (idx < fromIndex) *stop = YES;
return [obj isEqual:item];
}];