私は以下のような辞書の配列を持っています。
NSMutableArray *newArray
({
{
A = John;
B = THAILAND;
},
{
A = Jack;
B = US;
}
{
A = Lee;
B = BRAZIL;
}
{
A = Brandon;
B = UK;
}
{
A = Jill;
B = JAPAN;
}
{
A = Johnny;
B = UK;
}
{
A = Amar;
B = AUSTRALIA;
}
})
上記の配列を、別の配列 (newArray のキー B) に基づいて並べ替えたいと考えています。
NSArray *sortArray = [[NSArray alloc] initWithObjects"US",@"UK",nil];
つまり、最終的な配列には、最初に US の値が含まれ、次に UK が続き、残りが含まれている必要があります。要するに、配列内の属性/キーに独自の順序を設定するにはどうすればよいですか。
どうやってやるの?
期待される結果 :
NSMutableArray *finalArray
({
{
A = Jack;
B = US;
},
{
A = Brandon;
B = UK;
}
{
A = Johnny;
B = UK;
}
{
A = John;
B = THAILAND;
}
{
A = Lee;
B = BRAZIL;
}
{
A = Jill;
B = JAPAN;
}
{
A = Amar;
B = AUSTRALIA;
}
})
キーBの昇順を与える以下のコードを試しました。
[newArray sortUsingDescriptors:[NSArray arrayWithObjects: [[NSSortDescriptor alloc] initWithKey:@"B" ascending:YES], nil]];