【问题标题】:Swift coredata sort by relationship property?Swift coredata 按关系属性排序?
【发布时间】:2019-08-18 11:29:32
【问题描述】:

我有一个包含照片列表的地方实体。 如何获取按创建日期排序的照片的位置? 换句话说,我如何按关系属性排序?发送!

【问题讨论】:

  • 您需要一次对一个 Place 对象的照片进行排序,所以最好事后进行
  • 你的意思是不可能吗?我必须在我的 coredata req 之后手动排序?
  • 可能吗?好吧,直接在核心数据中执行此操作是不切实际的,当然,很可能也不可能。

标签: swift core-data


【解决方案1】:

一对多的关系总是一个无序的集合。

一个选项是在Place 中添加一个计算属性sortedPhotosphotos代表关系,应该声明为原生Set<Photo>

var sortedPhotos : [Photo] {
    return photos.sorted{ $0.creationDate < $1.creationDate }
}

另一种选择——如果你想获取一个特定地点的所有照片——使用谓词 "place.name == %@", place.name 获取 Photo 实体并添加一个排序描述符。

【讨论】:

  • Ok txs Vadian,这是我以前做过的……太疯狂了,我们不能像 sql sub req 那样做……
猜你喜欢
  • 1970-01-01
  • 2018-01-07
  • 1970-01-01
  • 2013-10-14
  • 1970-01-01
  • 1970-01-01
  • 2021-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多