NSArray的排序功能sortedArrayUsingSelector

轉(zhuǎn)自SpeedBoy007的專欄 移動互聯(lián)網(wǎng) 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];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容