我想构建一个基于数组内容的 NSPredicate 或 NSSortDescriptor(核心数据搜索)。
该数组将按正确顺序由 userId:s
组成:
[1, 2, 5, 3];
我想以相同的顺序显示我的 NSFetchedResultsController 的结果。
所以我会:
- 获得合适的用户(我已经做到了)
- 根据我使用
userId
s 排序的数组对用户列表进行排序。
这可能吗,我该怎么做?
最佳答案
我认为这是不可能的。对提取请求的结果进行排序(对于基于 SQLite 的存储)是在 SQLite 级别完成的,并且只能使用存储在数据库中的持久属性。排序描述符不能使用 Objective-C 函数或变量。
所以要么
- 您向您的实体添加一个额外的属性来描述预期的排序(如果可能的话),或者
- 在获取结果后根据需要对结果进行排序(这意味着您不能再使用获取的结果 Controller 进行自动更改跟踪)。也许您可以使用此处描述的方法:https://stackoverflow.com/a/15618277/1187415 .
关于ios - 基于数组对 NSFetchedResultsController 结果进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15729454/