gpt4 book ai didi

ios - NSPredicate 用于对两个属性进行排序?

转载 作者:行者123 更新时间:2023-11-29 10:38:27 35 4
gpt4 key购买 nike

我在 Core Data 中有一个表,例如:

===============================
student-Id || mark
================================
3 || 20
3 || 10
3 || 30
||
1 || 30
1 || 20
1 || 10
||
2 || 10
2 || 30
2 || 20
===============================

我可以轻松获取按学生 ID 排序的结果,但我需要结果显示按升序排序的所有 ID 和标记,如下所示:

===============================
student-Id || mark
===============================
1 || 10
1 || 20
1 || 30
||
2 || 10
2 || 20
2 || 30

3 || 10
3 || 20
3 || 30
==============================

如何编写一个谓词来按上述顺序获取结果?

最佳答案

我不认为您可以使用谓词对核心数据提取请求中的结果进行排序。该责任属于您在提取中使用的排序描述符。每个排序描述符——NSSortDescriptor 的一个实例——包含一个字符串键和一个顺序;您指定多个描述符以按您提供的顺序按多个键排序。

例如,您似乎想先按 student-Id 对结果进行排序,然后再按 mark 排序。在这两种情况下,您都希望将最小的数字排在第一位——您正在按升序排序。因此,在创建 Core Data 获取请求后,您可以将其配置为具有两项 sortDescriptors 数组:

// Assuming an existing "fetchRequest":
fetchRequest.sortDescriptors = @[
[NSSortDescriptor sortDescriptorWithKey:@"student-Id" ascending:YES],
[NSSortDescriptor sortDescriptorWithKey:@"mark" ascending:YES]
];

从那时起,您可以像往常一样继续您的提取请求。

关于ios - NSPredicate 用于对两个属性进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25758855/

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