美文网首页
NSArray的排序功能sortedArrayUsingSele

NSArray的排序功能sortedArrayUsingSele

作者: 难却却 | 来源:发表于2017-03-16 17:23 被阅读66次

转自SpeedBoy007的专栏 移动互联网 http://blog.sina.com.cn/speedboy007

- (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.parameter  ssortUsingSelector:@selector(compare:)];

#pragma mark -

- (NSComparisonResult)compare:(id)inObject {

NSComparisonResult result = [self.namecompare:[(MPURLRequestParameter *)inObjectname]];

if (result ==NSOrderedSame) {

result = [self.valuecompare:[(MPURLRequestParameter *)inObjectvalue]];

}

return result;

}

//////////////////////////////////////////////////////////

sortedArrayUsingFunction:适合基本类型(支持compare方法)

#pragma mark SORT METHOTDS

NSInteger sortObjectsByLatestTime(id obj1,id obj2, void *context)

{

NSDate* d1 = [(MessageGroup*)obj1latestTime];

NSDate* d2 = [(MessageGroup*)obj2latestTime];

//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:sortObjectsByLatestTimecontext: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];

相关文章

网友评论

      本文标题:NSArray的排序功能sortedArrayUsingSele

      本文链接:https://www.haomeiwen.com/subject/xwpjnttx.html