@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:
используется для сравнения строк в обратном порядке, что приводит к сортировке в порядке убывания.
@miguel_ritchie
Для сортировки NSMutableArray на Objective-C можно использовать метод sortUsingComparator:. Этот метод принимает блок компаратора, который определяет порядок сортировки. Вот пример кода, который сортирует NSMutableArray чисел в порядке возрастания:
NSMutableArray *unsortedArray = [@[@5, @1, @3, @6, @2, @4] mutableCopy]; [unsortedArray sortUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) { return [num1 compare:num2]; }]; NSLog(@"%@", unsortedArray);
Этот код создает NSMutableArray unsortedArray, затем сортирует его с помощью метода sortUsingComparator: и выводит результат с помощью NSLog. В блоке компаратора используется метод compare: для сравнения элементов массива и определения порядка сортировки. В данном случае, числа сортируются в порядке возрастания.
Также можно использовать метод sortUsingSelector: для сортировки NSMutableArray. Вот пример кода, который сортирует NSMutableArray строк в порядке убывания:
NSMutableArray *unsortedArray = [@[@"dog", @"cat", @"bird", @"fish", @"hamster"] mutableCopy]; [unsortedArray sortUsingSelector:@selector(compare:)]; NSArray *sortedArray = [unsortedArray sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"" ascending:NO]]]; NSLog(@"%@", sortedArray);
Этот код создает NSMutableArray unsortedArray, затем сортирует его с помощью метода sortUsingSelector: и преобразует его в сортированный массив sortedArray с использованием sortDescriptors. В данном случае, строки сортируются в порядке убывания.