ios - 基于数组对 NSFetchedResultsController 结果进行排序?

标签 ios objective-c cocoa-touch core-data nssortdescriptor

我想构建一个基于数组内容的 NSPredicate 或 NSSortDescriptor(核心数据搜索)。

该数组将按正确顺序由 userId:s 组成:

[1, 2, 5, 3];

我想以相同的顺序显示我的 NSFetchedResultsController 的结果。

所以我会:

  1. 获得合适的用户(我已经做到了)
  2. 根据我使用 userIds 排序的数组对用户列表进行排序。

这可能吗,我该怎么做?

最佳答案

我认为这是不可能的。对提取请求的结果进行排序(对于基于 SQLite 的存储)是在 SQLite 级别完成的,并且只能使用存储在数据库中的持久属性。排序描述符不能使用 Objective-C 函数或变量。

所以要么

  • 您向您的实体添加一个额外的属性来描述预期的排序(如果可能的话),或者
  • 在获取结果后根据需要对结果进行排序(这意味着您不能再使用获取的结果 Controller 进行自动更改跟踪)。也许您可以使用此处描述的方法:https://stackoverflow.com/a/15618277/1187415 .

关于ios - 基于数组对 NSFetchedResultsController 结果进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15729454/

相关文章:

ios - Facebook SDK : Knowing if sharing took place

ios - 使用 AWS SDK 2 和 Cognito 为使用 iOS SDK 2 的未授权用户将文件放在 S3 上

ios - NSUserDefaults 不会一致地加载数据

ios - 试图获取核心数据存储中的总数

ios - 如何在清晰且不同的 uiview 可以处理它们时忽略最顶层 uiview 中的触摸事件

ios - 在运行时获取主 Storyboard

ios - 在 xcode 中使用像素而不是点?

ios - Xcode Charles(HTTP 代理)不捕获本地主机流量

objective-c - 在 NSDictionary 的键中使用 å ö ä

ios - 如何从 UIImage 或 Cocoa 中的图片获取日期信息?