Objective-C:查找具有索引的Array在Object中出现的次数

Ian*_*Ian 2 objective-c nsmutablearray nsarray

我需要一种方法来计算对象在任何给定的MutableArray中出现的次数,然后将对象的索引返回到一个单独的Mutable Array中.香港专业教育学院尝试过这种方式,但无法弄明白.

所以基本上说我有一个包含2,3,3,4,3,5,3的数组当搜索3时,它应该给我两次,4和一个包含1,2,4,6的单独数组(对象的索引.

我在网站上看到了以下代码,但无法解决如何修改它,任何人都可以帮助我吗?

int occurrences = 0;
for(NSString *string in array){
    occurrences += ([string isEqualToString:@"Apple"]?1:0); //certain object is @"Apple"
}
Run Code Online (Sandbox Code Playgroud)

mip*_*adi 6

int occurrences = 0;
NSMutableArray *indices = [NSMutableArray array];
int i = 0;
for (i = 0; i < [array count]; i++) {
    NSString *obj = [array objectAtIndex:i];
    if ([obj isEqualToString:@"Apple"]) {
        occurrences++;
        [indices addObject:[NSNumber numberWithInt:i]];
    }
}
Run Code Online (Sandbox Code Playgroud)

您也可以删除跟踪occurrences并执行类似操作

int occurrences = [indices count];
Run Code Online (Sandbox Code Playgroud)

for循环.