Objective-c:如何使用标签对UIButtons的NSMutableArray进行排序

时间:2011-11-07 11:23:44

标签: iphone objective-c ios ios4 ios5

我有一个包含UIButtons的NSMutableArray。我给每个按钮一个独特的 标签。按钮将以随机顺序添加到数组中,但我想稍后对其进行排序,以使按钮按照标签的升序排列。

感谢您的帮助!

3 个答案:

答案 0 :(得分:6)

叶氏。

试试这个:

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

答案 1 :(得分:2)

您可以使用NSSortDescriptor对NSArray进行排序。

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

答案 2 :(得分:1)

有多个“sortedArrayUsing ...”函数。使用看起来最符合您需求的那个。

(顺便说一下,请记住,因为NSMutableArray是NSArray的子​​类,所以NSArray的所有方法也适用于NSMutableArray。)