我在, ,NSMutableArray
中存储了许多值。拥有100 多个对象。我需要从数组中找到对象。谁能帮我解决这个问题?提前致谢。@"New"
@"Old"
@"Future"
NSMutablArray
@"New"
问问题
18000 次
4 回答
13
这将做最经济的伎俩[测试]:
[myArray filteredArrayUsingPredicate:[NSPredicate
predicateWithFormat:@"self == %@", @"New"]];
于 2012-08-09T15:31:44.813 回答
3
Gopinath 如果你像这样添加了常量@"New"
字符串
int index = [array indexOfObject:@"New"];
会做的伎俩
NSString *str1 = @"New";
NSString *str2 = @"New";
然后str1
并str2
指向同一个对象。
如果您知道要搜索的字符串,那么是否需要找到它?
蒙迪的回答也不错。
于 2012-08-09T15:46:47.200 回答
1
为什么不快速枚举对象呢?
NSMutableArray *matchingObjects = [NSMutableArray array];
NSArray *objects = [NSArray arrayWithObjects:@"New", @"Old", @"Future", nil];
NSInteger count = 0;
for (NSString *string in objects) {
if ([string isEqualToString:@"New"]) {
[matchingObjects addObject:string];
}
count++;
}
这种方式matchingObjects
包含了与测试匹配的所有对象,您可以使用它count
来获取所有匹配项的索引。
于 2012-08-09T15:40:43.497 回答
0
我建议使用谓词块过滤数组
[array filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary * bindings){
[evaluatedObject isEqual:anObject];
}]];
于 2012-08-09T15:37:09.803 回答