Как отсортировать NSMutableArray по длине NSString?
У меня есть NSMutableArray, содержащий NSStrings различной длины. Как я могу сортировать массив по длине строки?
Ответы
Ответ 1
Посмотрите мой ответ на сортировку массивов с настраиваемыми объектами:
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"length"
ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
[myArray sortUsingDescriptors:sortDescriptors];
Ответ 2
Вот как я это сделал (люби меня несколько блоков!)
_objects = [matchingWords sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
NSNumber *alength = [NSNumber numberWithInt:((NSString*)a).length];
NSNumber *blength = [NSNumber numberWithInt:((NSString*)b).length];
return [alength compare:blength];
}];