How could I enumerate an NSArray containing objects of multiple types, to get all the indexes where an NSString is found, then be able to refer to each index in order by saying
Well, the enumerateObjectsUsingBlock:
method of NSArray
will let you enumerate the objects in the array using a block (per your request).
To test for strings, you could simply do this:
if ([itemToTest isKindOfClass:[NSString class]]) ...
And you could add each of those to a Dictionary with Object keys and Int values (or vice-versa).