2011-07-09 24 views
-1

我在做的東西,我需要按類別排序。陣列DIctionary

我有對象的數組作爲 array1 =名稱,卷號,組名。 array2 =名稱,卷號,組名。

我想根據相同的組分類上面的數組。我不想與硬編碼的組名稱進行比較。 這意味着我想要在單獨的數組中具有相同國家名稱的成員。這裏陣列數不會被硬編碼。它會隨着數據的存在而創建。我的數據如下。

請給我建議任何邏輯。

謝謝...

項目0
學生姓名= 「ABC」;卷號=「12」;國家=「美國」

項目1 學生姓名=「DEF」;卷號=「12」;國家=「印度」

項目2 學生姓名=「DEF」;卷號=「12」;國家=「印度」

項目3 學生姓名=「DEF」;卷號=「12」;國家=「美國」

+5

難道你不是說你有一組字典嗎?請編輯您的問題,以便清楚。我想我對你有一個答案,但是現在你的問題不能回答。 – uvesten

+0

我用樣本數據編輯 – Swapnil

+0

@iSwap那麼這是一個字典數組呢? –

回答

2

如何創建一個包含這些屬性的屬性的簡單類?

0

假設你有一個NSArray包含其他NSArray s,填充NSString對象(作爲編輯建議),爲什麼不寫一個簡單的方法? 這裏是方法的一個例子具有一種被稱爲NSArray

// NSArray *myItems, containing your stuff 

-(NSArray *)itemsWithCountryName:(NSString *)aCountryName { 
    NSMutableArray *items = [NSMutableArray arrayWithCapacity:[myItems count]]; 
    NSArray *myItemAsAnArray; 
    for(myItemAsAnArray in [self myItems]) { 
     // your edit suggets 2 as the index for the country name 
     // maybe you can provide a defined constant 
     if([[myItemAsAnArray objectAtIndex:2] isEqualToString:aCountryName]) { 
      [items addObject:myItemAsAnArray]; 
     } 
    } 
    return items; 
} 

但是,也許你的字典工作的myItems屬性的對象...

-(NSArray *)itemsWithCountryName:(NSString *)aCountryName { 
    NSMutableArray *items = [NSMutableArray arrayWithCapacity:[myItems count]]; 
    NSDictionary *myItemAsAnDictionary; 
    for(myItemAsAnDictionary in [self myItems]) { 
     // same again for the key 
     if([[myItemAsAnArray objectForKey:@"Country"] isEqualToString:aCountryName]) { 
      [items addObject:myItemAsAnArray]; 
     } 
    } 
    return items; 
} 

祝你好運!

+0

謝謝大家,我使用排序描述符進行分組。在開始我使用排序描述符爲國家名稱。然後將數據分隔成單獨的數組,其中包含具有相同國名的學生。 – Swapnil