I have a class with fields startDate(NSDate), market(int) and allDay(BOOL), I sort them as compare methods as below, when I want to sort my array, I called such methods one by one, I think it is not good performance, but I am not sure how to combine them into one method, can you give me some suggestion?
Code:
- (NSComparisonResult)compareStartDate:(MarketEvent *)event {
return [self.startDate compare:event.startDate];
}
- (NSComparisonResult)compareTime:(MarketEvent *)event {
if (self.allDay && !event.allDay) {
return NSOrderedAscending;
}
else if (!self.allDay && event.allDay) {
return NSOrderedDescending;
}
else {
return NSOrderedSame;
}
}
- (NSComparisonResult)compareMarket:(MarketEvent *)event {
if (self.market > event.market) {
return NSOrderedAscending;
}
else if (self.market < event.market) {
return NSOrderedDescending;
}
else {
return NSOrderedSame;
}
}
Last edited: