Objective-c: как отсортировать NSMutableArray UIButtons, используя их теги

#iphone #objective-c #ios #ios4 #ios5

#iPhone #objective-c #iOS #ios4 #ios5

Вопрос:

У меня есть NSMutableArray, содержащий UIButtons. Я присвоил каждой из кнопок уникальный тег. Кнопки будут добавлены в массив в случайном порядке, но позже я хочу отсортировать его так, чтобы кнопки располагались в порядке возрастания по отношению к их тегам.

Спасибо за помощь!

Комментарии:

1. Если проблема решена, вы должны проверить свой вопрос как решенный и выбрать ответ, чтобы помочь людям в будущем с такой же проблемой 🙂

Ответ №1:

Да.

Попробуйте это:

 NSSortDescriptor *ascendingSort = [[NSSortDescriptor alloc] initWithKey:@"tag" ascending:YES];
NSSortDescriptor *descendingSort = [[NSSortDescriptor alloc] initWithKey:@"tag" ascending:NO];
NSArray *sortedArray = [someArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:ascendingSort]];
  

Комментарии:

1. Очевидно, вам нужно использовать либо ascendingSort, либо descending NSSortDescriptor

Ответ №2:

Вы можете использовать NSSortDescriptor для сортировки NSArray.

 NSArray *unsortedArray = ...
NSArray *sortedArray = [unsortedArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"tag" ascending:YES]]];
  

Ответ №3:

Существует несколько функций «sortedArrayUsing …». Используйте тот, который, по-видимому, лучше всего соответствует вашим потребностям.

(Кстати, помните, что, поскольку NSMutableArray является подклассом NSArray, все методы NSArray также применимы к NSMutableArray.)