在 NSArray 中查找字符串的所有索引

Find all indexes of a string inside NSArray

NSMutableArray 的数据如下:"John"、"Phillip"、"John"、"Andrea"。我还有一个字符串 "John"。我需要在 NSMutableArray 中找到该字符串并定义哪个索引用于显示其他数组中的其他数据。在我的例子中,索引是 0 和 2。

此节目仅首发

NSInteger index = [array indexOfObject:String];

NSArray 提供了一种根据您提供的条件生成一组索引的方法:

NSIndexSet *allPositions = [array indexesOfObjectsPassingTest:
    ^BOOL (id str, NSUInteger i, BOOL *stop) {
        return [str isEqualToString:String];
    }];

这会生成 NSIndexSet,其中包含所有感兴趣的索引 - 在您的情况下,它将包含 0 和 2。