Это очень прямой путь.
NSArray *firstArray = [NSArray arrayWithObjects:[NSNumber numberWithInt:100],[NSNumber numberWithInt:1000], nil];
NSArray *secondArray = [NSArray arrayWithObjects:[NSNumber numberWithInt:100],[NSNumber numberWithInt:5000], nil];
NSMutableArray *arrayWithArray = [NSMutableArray arrayWithObjects:firstArray,secondArray,nil];
int i = 0;
for (NSArray *innerArray in arrayWithArray)
{
if ([innerArray containsObject:[NSNumber numberWithInt:5000]])
{
break;
}
i++;
}
NSLog(@"Index of object %d",i);
[arrayWithArray removeObjectAtIndex:i];
Должен быть какой-то другой разумный путь.
EDIT:
Я думаю, что это немного лучше.
int i = [arrayWithArray indexOfObjectPassingTest:^BOOL(id element,NSUInteger idx,BOOL *stop)
{
return [(NSArray *)element containsObject:[NSNumber numberWithInt:5000]];
}];
NSLog(@"Index of object %d",i);
if (i >= 0 && i < [arrayWithArray count])
{
[arrayWithArray removeObjectAtIndex:i];
}