我想提取所有前缀为“be”的对象,但我只得到第一个对象,而不是所有来自各种索引的对象。“array”包含各种对象,它包含“be”、“become”、“beta”、“be”、“beaver”等对象。这里有什么问题?
当我使用localizedCaseInsensitiveCompare:
时,它只显示两个“be”,就“ isEqualToString:
”而言是正确的,“array”实际上包含来自不同索引的两个“be”。
代码如下:
NSString *string =@"be";
NSRange range = NSMakeRange(0, 24);
NSIndexSet *indexSet = [[NSIndexSet alloc] initWithIndexesInRange: range];
[array enumerateObjectsAtIndexes:indexSet options: NSEnumerationConcurrent usingBlock:^(id obj, NSUInteger index, BOOL *stop)
{
//if([obj localizedCaseInsensitiveCompare:string] == NSOrderedSame)
if([obj hasPrefix:string])
{
NSLog(@"Object Found: %@ at index: %i",obj, index);
*stop=YES;
}
} ];