如何从数组中获取数据

时间:2013-07-25 18:53:54

标签: ios objective-c nsmutablearray

我有NSMutableArray如下。

products = (
        {
        fullName = Fahim;
        id = 1;
        photoName = "family-1.png";
    },
        {
        fullName = Nikhat;
        id = 2;
        photoName = "family-2.png";
    },
        {
        fullName = Naju;
        id = 3;
        photoName = "family-3.png";
    },
        {
        fullName = Dasd;
        id = 7;
        photoName = "family-7.png";
    },
        {
        fullName = Galib;
        id = 8;
        photoName = "family-8.png";
    }
)

现在我想要的是基于id。

来提取数据

e.x。如果我说我需要id 8的数据,我应该将fullName作为Galib。

知道如何完成这项工作吗?我是一周的阵容。

2 个答案:

答案 0 :(得分:2)

通常,您也可以用%d替换值。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"id == %d",YOUR_ID_VALUE];

现在你可以使用下面的,

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"id == 8"];
NSArray *filter = [array filteredArrayUsingPredicate:predicate];
NSLog(@"%@",filter);

答案 1 :(得分:1)

如果您需要通过id提取,请改用NSDictionary。

NSDictionary * products = @{
    @1: @{ @"fullName": @"Fahim", @"photoName":@"family-1.png"}, 
    @2: @{ @"fullName": @"Nikhat" @"photoName":@"family-2.png"}
};

这仍然不是最佳方式......在不了解您的全部要求的情况下很难设计出来。