非常使用NSSortDescriptor的自定义订单 [英] Very custom order using NSSortDescriptor
本文介绍了非常使用NSSortDescriptor的自定义订单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有不同状态的对象。状态从0到2.我需要使用NSSortDescriptor以这种方式对它们进行排序:
Let's say I have objects with different statuses. Statuses are from 0 to 2. I need to sort them using NSSortDescriptor in this way:
1
2
0
有什么建议吗?
推荐答案
像这样(未经测试):
descriptor = [[[NSSortDescriptor alloc]
initWithKey:@"status"
ascending:YES
selector:@selector(customStatusCompare:)] autorelease];
@interface NSNumber (CustomStatusCompare)
- (NSComparisonResult)customStatusCompare:(NSNumber*)other;
@end
@implementation NSNumber (CustomStatusCompare)
- (NSComparisonResult)customStatusCompare:(NSNumber*)other {
NSAssert([other isKindOfClass:[NSNumber class]], @"Must be a number");
if ([self isEqual:other]) {
return NSOrderedSame;
}
else if (... all your custom comparison logic here ...)
}
}
这篇关于非常使用NSSortDescriptor的自定义订单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文