Objective c 获取NSMutableArray中的最后一个匹配项
我有一个很长的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;
我正在寻找一些关键字来执行操作,但是数组可能包含多个关键字,我希望它只响应数组中的最后一个关键字,并忽略在此之前找到的所有关键字。实现这一点的有效方法是什么?尝试使用数组的
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
语句中使用|
),然后它会在数组中与您要测试的字符串之一匹配的第一个字符串上停止。