gpt4 book ai didi

ios - NSFetchedResultController - 对 2 个属性的自定义排序

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:22:36 24 4
gpt4 key购买 nike

我在我的项目中使用 NSFetchedResultController。以下是我想要实现的场景。

  • 我有一个名为Contact 的表,其中有两个属性LastMessageDateContactName
  • 我想根据 LastMessageDate 对联系人对象进行排序。没有LastMessageDate的对象应该按照ContactName排序(Alphabetically)。

例如:

假设我有 C1、C2、C3、C4、C5、C6 作为我的联系人,其中 C2 和 C6 有 LastMessageDate。所以排序后的Contacts应该是C2,C6,C1,C3,C4,C5

最佳答案

使用两个排序描述符,第一个将按字母顺序对所有联系人进行排序,第二个将根据最后一条消息日期进行过滤。看下面的代码-

NSSortDescriptor *contactName = [[NSSortDescriptor alloc]
initWithKey: @"ContactName" ascending: YES];

NSSortDescriptor *lastMessageDate = [[NSSortDescriptor alloc]
initWithKey: @"LastMessageDate" ascending: YES];


NSArray *sortedArray = [contactArray sortedArrayUsingDescriptors: [NSArray arrayWithObjects: contactName, lastMessageDate, nil]];

关于ios - NSFetchedResultController - 对 2 个属性的自定义排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24406846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com