了解iPhone开发中关于NSMutableArray排序实例是本文要介绍的内容,主要是来了解NSMutableArray的排序操作,内容不多,主要是基于代码实现内容,来看详细代码。
- - (NSArray *)sortedArrayUsingSelector:(SEL)comparator
- Parameters
- comparator
- A selector that identifies the method to use to compare two elements at a time. The method should returnNSOrderedAscending
- if the receiver is smaller than the argument, NSOrderedDescending if the receiver is larger than the argument,
- and NSOrderedSame if they are equal
- NSArray *sortedArray =
- [anArray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
- @property (nonatomic, readwrite, retain) NSMutableArray *parameters;
- [self.parameters sortUsingSelector:@selector(compare:)];
- #pragma mark -
- - (NSComparisonResult)compare:(id)inObject {
- NSComparisonResult result = [self.name compare:[(MPURLRequestParameter *)inObject name]];
- if (result == NSOrderedSame) {
- result = [self.value compare:[(MPURLRequestParameter *)inObject value]];
- }
- return result;
- }
- sortedArrayUsingFunction:适合基本类型(支持compare方法)
- #pragma mark SORT METHOTDS
- NSInteger sortObjectsByLatestTime(id obj1, id obj2, void *context)
- {
- NSDate* d1 = [(MessageGroup*)obj1 latestTime];
- NSDate* d2 = [(MessageGroup*)obj2 latestTime];
- //sort by desc
- return [d2 compare:d1];
- }
- NSInteger dateSort(id obj1, id obj2, void *context)
- {
- NSDate* d1 = ((Inbox*)obj1).datetime;
- NSDate* d2 = ((Inbox*)obj2).datetime;
- return [d1 compare:d2];
- }
- -(NSArray*)sortedMessages
- {
- return [[groupMessages allValues] sortedArrayUsingFunction:sortObjectsByLatestTime context:NULL];
- }
- sortUsingDescriptors:适合元素是dict类型,initWithKey既是dict key.
- NSMutableArray *regions = [NSMutableArray array];
- NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
- NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
- [regions sortUsingDescriptors:sortDescriptors];
- [sortDescriptor release];
小结:了解iPhone开发中关于NSMutableArray排序实例的内容介绍完了,希望通过本文的学习能对你有所帮助!