[__NSDate caseInsensitiveCompare:]:无法识别的选择器发送到实例

时间:2014-02-27 09:47:11

标签: nsdate nspredicate nsfetchrequest case-insensitive magicalrecord

我正在使用Magical Record ..我正在使用NSFetchRequest,如:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(due_at < %@) AND complete == 0",startDate];
        NSArray *taskArray = [Task MR_findAllSortedBy:@"due_at" ascending:NO withPredicate:predicate];

我已登录控制台,它是:

<NSFetchRequest: 0x16b239b0> (entity: Task; predicate: (due_at < CAST(415186806.000000, "NSDate") AND complete == 0); sortDescriptors: ((
    "(due_at, descending, caseInsensitiveCompare:)"
)); batch size: 20; type: NSManagedObjectResultType; )

它导致我错误:

[__NSDate caseInsensitiveCompare:]: unrecognized selector sent to instance

我如何解决这个问题..

1 个答案:

答案 0 :(得分:2)

这可以帮助您解决此问题:

NSFetchRequest *request = [Task MR_requestAll];
NSSortDescriptor *sortByDueAtDate = [NSSortDescriptor sortDescriptorWithKey:@"due_at" ascending:NO selector:@selector(compare:)];
[request setSortDescriptors:@[sortByDueAtDate]];

NSArray *results = [Task MR_executeFetchRequest:request];
//continue on with results