Если вы хотите отсортировать NSMutableArray
на месте, тогда вы можете вызвать sortUsingDescriptors:
вместо sortedArrayUsingDescriptors:
, что возвращает отсортированную копию вашего массива.sortUsingDescriptors:
отсортирует существующие NSMutableArray
.
например,
-(void)trierTableau:(NSMutableArray*)ptableau champsFiltre:(NSString*) champs {
NSSortDescriptor *lastDescriptor =
[[[NSSortDescriptor alloc]
initWithKey:champs
ascending:YES
selector:@selector(localizedCaseInsensitiveCompare:)] autorelease];
NSArray * descriptors = [NSArray arrayWithObjects:lastDescriptor, nil];
[ptableau sortUsingDescriptors:descriptors];
}
Таким образом, вам не нужно возвращать NSMutableArray
.
Если вына самом деле требуется отсортированная копия массива, затем вам нужно будет создать новый NSMutableArray
, использовать addObjectsFromArray:
для копирования элементов, а затем использовать sortUsingDescriptors:
в новом массиве.Но я думаю, что сортировка существующих NSMutableArray
- это, вероятно, то, что вам нужно.