Q:

Extract row number of array when string searched using Predicate

I am not sure how to ask the question, so perhaps if I say what the issue is someone out there can help. 
I have a SQL lite table which I use to populate two arrays: one of names and surnames, and the other array, which gets populated at the same time, of the ID of the person from the database. 
I then display these names in a TableView.  I use the Predicate method to search for someones name in the original array (called storiesArray). 
However, when I select this person to display, it displays the First person in the stories Array. 
I have tried getting the row where the search string is found, but this returns a very large number, even though it does find the string (using Predicates as explained). 
How can I get the row number of the found string? 
So, I have tried the following code:
  NSUInteger indexOfTheObject = [storiesArray indexOfObject: searchText];

But this returns the number 2147483647, which in effect is a -1. 
I know that the searchText is in stories array because the following code does return a valid search result:
   - (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope{

NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@", searchText];

self.searchResult =  [NSMutableArray arrayWithArray:[storiesArray filteredArrayUsingPredicate:resultPredicate]];
}

self.searchResult gets populated with the correct string. 
Thanks in advance. 

A:

Similar Threads here:
How retrieve an index of an NSArray using a NSPredicate? 
how to find the index position of the ARRAY Where NSPredicate pick the value.  I use filteredArrayUsingPredicate as filter
http://useyourloaf.com/blog/2010/10/19/searching-arrays-with-nspredicate-and-blocks.html
NSUInteger index = [self.myarray indexOfObjectPassingTest:
                 ^(id obj, NSUInteger idx, BOOL *stop) {
                   return [predExists evaluateWithObject:obj];
                 }];

