2013-07-25 316 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_將一些示例代碼放在一邊呢?這是超級基本的東西。 –