在NSMutableArray中抓取最后一个匹配的项目

时间:2013-07-19 23:46:20

标签: objective-c cocoa nsarray

我有一个很长的NSMutableArray,每个单词都有一段文字。

我正在寻找几个关键词来执行操作,但是数组可能包含多个关键字,我希望它只响应数组中的最后一个关键字并忽略之前找到的所有关键字。什么是实现这一目标的有效方法?

2 个答案:

答案 0 :(得分:1)

尝试使用数组的reverseObjectEnumerator

NSInteger index = [myArray length];
for (NSString *str in [myArray reverseObjectEnumerator]) {
    index -= 1;
    if ([str isEqualToString:@"theStringToTestFor"])
        break;
}

index现在应该包含数组中最后一个匹配字符串的索引。

答案 1 :(得分:1)

向后搜索数组。

NSArray* words;

[words enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

    NSString* word = (NSString*)obj;

    if ([word isEqualToString:@"testString"])
        stop = YES;

}];