【问题标题】: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>'

谢谢你帮助我。

【问题讨论】:

    标签: ios objective-c xcode magicalrecord


    【解决方案1】:

    第一个参数不能有空格

    [Trajet MR_findAllSortedBy:@"isActive, date" ascending:YES]
         // remove this space ------------^
    

    否则 MagicalRecord 将为键“日期”创建排序描述符 而不是“日期”。

    【讨论】:

    • 完美。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    相关资源
    最近更新 更多