使用sortedArrayUsingFunction对NSArray进行sorting

任何使用sortedArrayUsingFunctionsortingNSArray的好例子?

TY!

NSArray *sorted_bookings = [myUnsortedArray sortedArrayUsingFunction:Sort_Bookingdate_Comparer context:self]; NSInteger Sort_Bookingdate_Comparer(id id1, id id2, void *context) { // Sort Function Booking* booking1 = (Booking*)id1; Booking* booking2 = (Booking*)id2; return ([booking1.BOOKING_DATE compare:booking2.BOOKING_DATE]); } 

我以前用bookingdate来sorting预订。 预订是一个包含名为BOOKING_DATE的综合实例variables的类。

如文档中所述: http : //developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html

 NSInteger intSort(id num1, id num2, void *context) { int v1 = [num1 intValue]; int v2 = [num2 intValue]; if (v1 < v2) return NSOrderedAscending; else if (v1 > v2) return NSOrderedDescending; else return NSOrderedSame; } 

使用NSMutableArrayclosures模拟:

 [opponentMatchDicts sortUsingFunction:compareMatchByDate context:nil]; ... static int compareMatchByDate( id m1, id m2, void *context) { NSDictionary *mDict1 = (NSDictionary *) m1; NSDictionary *mDict2 = (NSDictionary *) m2; NSDate *date1 = [mDict1 objectForKey:kMatchNSDate]; NSDate *date2 = [mDict2 objectForKey:kMatchNSDate]; int rv = [date1 compare:date2]; return rv; }