-4

我有 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 提取数据。

例如,如果我说我需要 id 8 的数据,我应该将 fullName 设为 Galib。

知道如何完成这项工作吗?我在数组中一周。

4

2 回答 2

2

通常,您也可以将 value 替换为 %d 。

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

现在你可以在下面使用,

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"id == 8"];
NSArray *filter = [array filteredArrayUsingPredicate:predicate];
NSLog(@"%@",filter);
于 2013-07-25T19:02:01.093 回答
1

如果您需要按 id 拉取,请改用 NSDictionary。

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

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

于 2013-07-25T18:57:11.593 回答