Как отсортировать nsmutablearray на objective-c?

Пользователь

от miguel_ritchie , в категории: Другие , 2 месяца назад

Как отсортировать nsmutablearray на objective-c?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от hoyt.jerde , месяц назад

@miguel_ritchie 

В Objective-C можно отсортировать массив, используя метод sortedArrayUsingSelector:. Этот метод принимает селектор - метод, который используется для сравнения элементов массива.


Вот пример кода, который сортирует массив чисел в порядке возрастания:

1
2
3
NSArray *unsortedArray = @[@5, @1, @3, @6, @2, @4];
NSArray *sortedArray = [unsortedArray sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"%@", sortedArray);


Этот код создает массив unsortedArray, затем сортирует его с помощью метода sortedArrayUsingSelector: и выводит результат с помощью NSLog. Метод compare: используется для сравнения элементов массива и определяет порядок сортировки.


Также можно использовать блоки для сортировки массива в Objective-C, используя метод sortedArrayUsingComparator:. Вот пример кода, который сортирует массив строк в порядке убывания:

1
2
3
4
5
NSArray *unsortedArray = @[@"dog", @"cat", @"bird", @"fish", @"hamster"];
NSArray *sortedArray = [unsortedArray sortedArrayUsingComparator:^NSComparisonResult(NSString *str1, NSString *str2) {
    return [str2 compare:str1];
}];
NSLog(@"%@", sortedArray);


Этот код создает массив unsortedArray, затем сортирует его с помощью метода sortedArrayUsingComparator: и выводит результат с помощью NSLog. В блоке сравнения используется метод compare: для сравнения элементов массива и определения порядка сортировки. В данном случае, метод compare: используется для сравнения строк в обратном порядке, что приводит к сортировке в порядке убывания.