我有無序的字典數組,我想根據藝術家names.Unsorted列表進行排序它給出如下:如何按字母順序對字典對象排序NSArray?
{
artist = "Afro Latin Jazz Orchestra";
id = 10;
},
{
artist = "Avey, Bobby";
id = 17;
},
{
artist = "American Symphony Orchestra";
id = 32;
},
{
artist = "Akpan, Uwem";
id = 97;
},
{
artist = "Austin, Ivy ";
id = 123;
},
{
artist = "American Theatre Orchestra";
id = 153;
},
{
artist = AudraRox;
id = 171;
},
{
artist = "Atlas, James";
id = 224;
},
{
artist = "Alden, Howard";
id = 270;
},
{
artist = Astrograss;
id = 307;
},
{
artist = "Adan, Victor";
id = 315;
},
{
artist = "Alegria, Gabriel";
id = 316;
},
{
artist = "Andersen, Kurt";
id = 412;
},
{
artist = Antares;
id = 420;
},
{
artist = "Austen, Jane ";
id = 426;
},
{
artist = "Acuna, Claudia";
id = 443;
},
{
artist = "Akinmusire, Ambrose";
id = 444;
},
{
artist = "Anderson, Laurie Halse";
id = 559;
},
{
artist = "Alvarez, Javier";
id = 591;
},
{
artist = "Alexander, Jane";
id = 674;
},
{
artist = "Andy Teirstein";
id = 695;
},
{
artist = "Afro-Cuban Jazz Saxtet";
id = 707;
},
{
artist = "Aurora ";
id = 708;
},
{
artist = "Aurora ";
id = 709;
},
{
artist = "August, Gregg ";
id = 715;
},
{
artist = "Aldous, Brian";
id = 777;
},
{
artist = "Anne Enright";
id = 1130;
}
排序而且使用後描述
NSSortDescriptor *sortByName = [NSSortDescriptor sortDescriptorWithKey:@"artist" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortByName];
sortedArray = [artistArray sortedArrayUsingDescriptors:sortDescriptors];
它給數組排序爲
{
artist = "Acuna, Claudia";
id = 443;
},
{
artist = "Adan, Victor";
id = 315;
},
{
artist = "Afro Latin Jazz Orchestra";
id = 10;
},
{
artist = "Afro-Cuban Jazz Saxtet";
id = 707;
},
{
artist = "Akinmusire, Ambrose";
id = 444;
},
{
artist = "Akpan, Uwem";
id = 97;
},
{
artist = "Alden, Howard";
id = 270;
},
{
artist = "Aldous, Brian";
id = 777;
},
{
artist = "Alegria, Gabriel";
id = 316;
},
{
artist = "Alexander, Jane";
id = 674;
},
{
artist = "Alvarez, Javier";
id = 591;
},
{
artist = "American Symphony Orchestra";
id = 32;
},
{
artist = "American Theatre Orchestra";
id = 153;
},
{
artist = "Andersen, Kurt";
id = 412;
},
{
artist = "Anderson, Laurie Halse";
id = 559;
},
{
artist = "Andy Teirstein";
id = 695;
},
{
artist = "Anne Enright";
id = 1130;
},
{
artist = Antares;
id = 420;
},
{
artist = Astrograss;
id = 307;
},
{
artist = "Atlas, James";
id = 224;
},
{
artist = AudraRox;
id = 171;
},
{
artist = "August, Gregg ";
id = 715;
},
{
artist = "Aurora ";
id = 708;
},
{
artist = "Aurora ";
id = 709;
},
{
artist = "Austen, Jane ";
id = 426;
},
{
artist = "Austin, Ivy ";
id = 123;
},
{
artist = "Avey, Bobby";
id = 17;
}
但仍是不完全排序。任何想法如何使用藝術家名字按字母順序排序。請幫助我!
排序有什麼問題?你顯示的結果是爲了?你期望他們在什麼順序? – 2012-04-10 06:21:09
可能的重複[如何排序包含NSDictionaries的NSArray?](http://stackoverflow.com/questions/3361207/how-can-i-sort-an-nsarray-containing-nsdictionaries) – 2012-04-10 06:22:00
是您的具體問題這種排序是區分大小寫的?如果是這樣,你需要'[NSSortDescriptor sortDescriptorWithKey:@「artist」ascending:YES selector:@selector(caseInsensitiveCompare :)]'。 – Dondragmer 2012-04-10 06:22:00