2013-07-25 328 views
-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拉数据。

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

任何想法如何做到这一点?我是阵列周。

回答

2

一般来说,您也可以用%d替换值。

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

现在你可以使用以下,

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

感谢一吨... –

+0

我没有接受,因为SO接受答案的时间限制... –

1

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

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

这仍然不是最佳的方法...难以设计,不知道你的全部要求。

+1

在阵列_are_词典的项目。 –

+0

请示例代码示例... –

+1

@FahimParkar:如果_you_将一些示例代码放在一边呢?这是超级基本的东西。 –