我有一个包含多个NSDictionary
对象的NSArray
,这个NSDictionary再次有一个数组的一些NSStrings/NSNumbers
...
这个NSArray
如下所示...
(
{
"bins_arr" = (
531662,
549177,
540165,
546616,
549777,
549778,
549779,
532663,
549852,
529495,
532662,
529117,
533890,
544170,
554619,
542418,
540175,
552137,
542531,
542556,
552093,
540531,
552790,
541497,
554637,
526421,
431921,
412800,
431922,
464558,
508159,
456822,
450900,
508126,
508125,
517700,
430463,
414746,
461797,
438628,
461796,
510460,
520386,
421175,
455038,
524133,
518936,
455390,
405450,
456407,
438587,
405451,
493714,
549149
);
"issuing_School" = ABCDEF;
status = 0;
title = ABCDEF;
},
{
"bins_arr" = (
429393,
416644,
416645,
416643,
416646,
436390,
436389,
436388,
470613,
524253,
428306,
489604,
478893,
414767,
428348,
469645,
421493,
470614,
543705
);
"issuing_School" = PQRS;
status = 0;
title = "PQRS";
},
{
"bins_arr" = (
422316,
421560,
483541
);
"issuing_School" = TCSB;
status = 0;
title = "TCSB";
}
)
现在我需要在NSArray
内找出一个给定的NString/NSNumber
,如果找到它,我还需要细化相应的issuing_School
值,例如如果我找到461797那么它应该搜索它并找到其中issuing_School是 PQRS。
一种方法是将每个NSArray
都放在 NSArray
--> NSDictionary
中并遍历整个NSArray
并将给定的数字与NSArray
中存在的数字相匹配,但我不想要这个搜索,因为这个NSArray
可能有NSDictionary
的对象,所有NSDictionary
对象再次具有大NSArray
。
任何人都可以建议我一些很棒的观点来实现这一目标。提前谢谢。
将数组转换为集合。
NSArray* array = ...;
NSSet* set = [[NSSet alloc] initWithArray:array];
if ([set containsObject:aNumber]) ...
不涉及循环。恒定时间,无论集合中有多少元素。