Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 获取NSMutableArray中的最后一个匹配项_Objective C_Cocoa_Nsarray - Fatal编程技术网

Objective c 获取NSMutableArray中的最后一个匹配项

Objective c 获取NSMutableArray中的最后一个匹配项,objective-c,cocoa,nsarray,Objective C,Cocoa,Nsarray,我有一个很长的NSMutableArray,每个单词都有一段文本 我正在寻找一些关键字来执行操作,但是数组可能包含多个关键字,我希望它只响应数组中的最后一个关键字,并忽略在此之前找到的所有关键字。实现这一点的有效方法是什么?尝试使用数组的ReverseObject枚举器: NSInteger index = [myArray length]; for (NSString *str in [myArray reverseObjectEnumerator]) { index -= 1;

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


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

尝试使用数组的
ReverseObject枚举器

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

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

向后搜索数组

NSArray* words;

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

    NSString* word = (NSString*)obj;

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

}];

我是否需要为搜索的每个字符串添加另一个if部分?如果是这样的话,它在找到第一个字符串后还会停止吗?@Prognastat是的,您需要为每个字符串添加另一个节(或者在
if
语句中使用
|
),然后它会在数组中与您要测试的字符串之一匹配的第一个字符串上停止。