Ami*_*aor 4 sorting core-data objective-c nssortdescriptor
我正在为iPhone iOS 4.0开发,我有一个使用Core Data存储的生日对象列表(日期+名称).我想使用NSFetchedResultsController来检索按每个生日对象的下一个生日日期排序的列表.为此,我需要为排序描述符定义自己的逻辑.
我试过用:
[NSSortDescriptor sortDescriptorWithKey:@"birthdayDate"
ascending:YES
selector:@selector(compareNextBirthday:)];
Run Code Online (Sandbox Code Playgroud)
在compareNextBirthday:我在NSDate类上创建的类别中定义的位置.
但是当我尝试获取数据时,我收到以下错误:"不支持的NSSortDescriptor选择器:compareNextBirthday:"
我花了好几个小时试图解决这个问题而没有运气...... Core Data是否支持这种自定义排序?我真的需要进行内存排序吗?
NSFetchedResultsController在持久性存储级别执行内部排序,因此如果您使用SQLite作为后端,它将失败.
对于类似这样的事情,我会对数据进行去规范化并存储月份和日期以及实际的出生日期,以便您可以对它们进行排序.