2011-07-09 29 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