【发布时间】:2011-03-15 09:11:53
【问题描述】:
我想使用带有自定义比较器的排序描述符
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"object.dateTime"
ascending:YES
selector:@selector(compareObject:toObject:)];
(键是一个ManagedObject)
比较方法:
- (NSComparisonResult)compareObject:(id)date1 toObject:(id)date2 {
NSComparisonResult comparisonResult;
// Complex comparator contents
return comparisonResult;
}
但是,我收到一个错误: 'NSInvalidArgumentException',原因:'-[__NSDate compareObject:toObject:]: unrecognized selector sent .....
我做错了什么? 如果我在一个块中使用比较器,它就可以工作,但我需要它通过选择器工作。 我找不到任何示例代码或有关如何通过选择器使用比较器的清晰文档(适用于 iOS 3.x.x)。该文档谈到了与自我比较,但我试图将比较方法合并到对象中,但这也不起作用。
谁能指出我的问题或一些示例代码如何通过选择器使用它?
注意:比较器本身并不是简单的日期比较。里面还有很多事情要做。
【问题讨论】:
标签: iphone selector nssortdescriptor