NSSortDescriptor is an excess to sort an array whose elements are just NSString instances.
NSArray *sortedArray = [unsortedArray sortedArrayUsingSelector: @selector(compare:)];
If instead of a new array created with its sorted elements, you want the elements of the NSMutableArray instance to be reordered, there is a way to do this:
[unsortedMutableArray sortUsingSelector: @selector(compare:)]
Use an instance of NSSortDescriptor when you have a large object that manages the array for you, such as NSArrayController or NSTableView. If this is the case, and the elements are just instances of NSString , @iHS answer will be correct.
source share