使用具有神奇记录的多个键进行排序时找不到键路径
Posted
技术标签:
【中文标题】使用具有神奇记录的多个键进行排序时找不到键路径【英文标题】:Keypath not found when sorting with multiple keys with magical record 【发布时间】:2014-04-23 16:02:18 【问题描述】:当我尝试将 MR_findAllSortedBy
函数与多个键一起使用时,我得到一个 keypath not found 错误。但是,当我仅将此功能与两个键路径之一一起使用时,它可以工作。我不明白为什么它不起作用。
我的代码
-(void)performActionOnEachTrajetWithBlock:(void (^) (Trajet *trajet, NSArray *previousTrajets))actionBlock
NSMutableArray *previousTrajets = [NSMutableArray arrayWithArray:@[]];
for (Trajet *trajet in [Trajet MR_findAllSortedBy:@"isActive, date" ascending:YES])
actionBlock(trajet, [NSArray arrayWithArray:previousTrajets]);
[previousTrajets addObject:trajet];
return;
错误
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath date not found in entity <NSSQLEntity Trajet id=2>'
谢谢你帮助我。
【问题讨论】:
【参考方案1】:第一个参数不能有空格
[Trajet MR_findAllSortedBy:@"isActive, date" ascending:YES]
// remove this space ------------^
否则 MagicalRecord 将为键“日期”创建排序描述符 而不是“日期”。
【讨论】:
完美。非常感谢!以上是关于使用具有神奇记录的多个键进行排序时找不到键路径的主要内容,如果未能解决你的问题,请参考以下文章