获取1个数组段

时间:2016-11-16 20:18:52

标签: objective-c arrays

我想仅从部分获取我的数据。

这是我的结果......

(
    {
        foreName = FORENAME1;
        gender = female;
        id = 15;
        key = 12345678901;
        longName = LASTNAME1;
        name = FORELAST1;
    },
    {
        foreName = FORENAME2;
        gender = male;
        id = 52;
        key = 12345678902;
        longName = LASTNAME2;
        name = FORELAST2;
    },
    {
        foreName = FORENAME3;
        gender = male;
        id = 77;
        key = 12345678903;
        longName = LASTNAME3;
        name = FORELAST3;
    }
)

如何搜索id 77并获取id 77的整个条目数组,如下例所示?

{
    foreName = FORENAME3;
    gender = male;
    id = 77;
    key = 12345678903;
    longName = LASTNAME3;
    name = FORELAST3;
}

1 个答案:

答案 0 :(得分:0)

结果是一个数组,你想要的元素是id == 77 ...

- (NSDictionary *)elementInArray:(NSArray *)array withId:(NSNumber *)anId {
    // there are a lot prettier ways, but this will be the clearest
    for (NSDictionary *d in array) {
        if ([d[@"id"] isEqual:anId]) return d;
    }
    return nil;
}

// call it like this
NSArray *array = // the array logged in the OP
NSDictionary result = [self elementInArray:array withId:@77];
NSLog(@"%@", result);