【问题标题】:NSSortDescriptor with two equally important keysNSSortDescriptor 有两个同样重要的键
【发布时间】:2013-07-23 12:52:24
【问题描述】:

我正在为我的实体构造一个 NSFetchedResultsController,它有两个属性,比如说一个 shortName 和一个 longName。所有托管对象都只有 shortName 或 longName。

如何同时基于两个属性(或者更确切地说是非空属性)对对象进行排序?

显然以下方法不适用于我的情况:

NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"shortName" ascending:YES];
NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"longName" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1, sortDescriptor2, nil];

【问题讨论】:

    标签: ios nsfetchedresultscontroller nssortdescriptor


    【解决方案1】:

    这很有趣,但我几乎可以肯定这是不可能的。如果没有 longName,只需将 shortName 分配给 longName 属性,同时插入到您的数据库对我来说是最好的解决方案,只需按 longName 进行排序。

    【讨论】:

    • 谢谢,这可能是一个选择,但我相信应该有一个更优雅的解决方案
    • 也许你可以尝试继承 NSFetchedResultsController,这会很优雅,但如果有一个简单的解决方案,我也很好奇
    猜你喜欢
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2019-02-12
    • 2011-11-26
    相关资源
    最近更新 更多