web-dev-qa-db-ja.com

NSMutableArrayをアルファベット順に並べ替える方法を教えてください。

NSMutableArrayをアルファベット順に並べ替えたい。

22
Ali

これを実行して、NSMutableArrayをソートできます。

[yourArray sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

ここで提供される他の回答は、@ selector(localizedCaseInsensitiveCompare :)の使用に言及しています
これはNSStringの配列に最適ですが、OPは、配列にはオブジェクトが含まれており、object.nameプロパティに従って並べ替えを行う必要があるとコメントしています。
この場合、これを行う必要があります:

NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
[yourArray sortUsingDescriptors:[NSArray arrayWithObject:sort]];

オブジェクトは、それらのオブジェクトのnameプロパティに従ってソートされます。

47
JP Hribovsek
NSSortDescriptor *valueDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; // Describe the Key value using which you want to sort. 
NSArray * descriptors = [NSArray arrayWithObject:valueDescriptor]; // Add the value of the descriptor to array.
sortedArrayWithName = [yourDataArray sortedArrayUsingDescriptors:descriptors]; // Now Sort the Array using descriptor.

ここでは、ソートされた配列リストを取得します。

1
Annu

NSSortDescriptorクラスを使用すると、すべてのものを取得できます here

0
Sudhanshu

多分これはあなたを助けることができます:

[myNSMutableArray sortUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"firstName" ascending:YES],[NSSortDescriptor sortDescriptorWithKey:@"lastName" ascending:YES]]];

すべてはNSSortDescriptorによると...

0
Gonzer
NSSortDescriptor * sortDescriptor;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Name_your_key_value" ascending:YES];
NSArray * sortDescriptors = [NSArray arrayWithObject:sortDescriptor]; 
NSArray * sortedArray;
sortedArray = [Your_array sortedArrayUsingDescriptors:sortDescriptors];
0
Maulik Pandya