从 NSDictionary 数组中查找一个值



我有一个包含多个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]) ...

不涉及循环。恒定时间,无论集合中有多少元素。

最新更新