2011-07-09 8 views
-1

私はカテゴリごとにソートする必要があるものをやっています。配列の転載

私は というオブジェクトを持つオブジェクトの配列を持っています。array1 =名前、ロール番号、グループ名です。 array2 =名前、ロール番号、グループ名。

私は同じグループに基づいて上記の配列に分類したいと思います。ハードコーディングされたグループ名と比較したくありません。 同じ国名のメンバーを別々の配列に入れたいのです。ここで配列数はハードコードされません。データが存在するときに作成されます。私のデータは以下の通りです。

論理を教えてください。

おかげで...

項目0
学生名= "ABC";ロール番号= "12"; Country = "USA"

アイテム1 学生名= "DEF";ロール番号= "12";国= "インド"

アイテム2 学生名= "DEF";ロール番号= "12";国= "インド"

アイテム3 学生名= "DEF";ロール番号= "12"; Country = "USA"

+5

辞書の配列を持っているわけではありませんか?あなたの質問を編集してください。私はあなたに答えがあると思いますが、あなたの質問が今立つと答えることができません。 – uvesten

+0

サンプルデータを編集しました – Swapnil

+0

@iSwapそれでは辞書の配列ですか? –

答えて

2

これらの属性を含むプロパティを持つ単純なクラスを作成するのはどうでしょうか?

0

NSArrayNSArrayであり、NSStringオブジェクトで埋められていると仮定すると、簡単な方法を書いてみませんか?ここ はタイプのmyItemsNSArray

// 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; 
} 

というプロパティを持つオブジェクトのための方法の一例ですが、多分あなたは辞書で作業...

-(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