PHCollection:获取所有专辑,按最近编辑的排序
Posted
技术标签:
【中文标题】PHCollection:获取所有专辑,按最近编辑的排序【英文标题】:PHCollection: Fetch all albums, sorted by most-recently edited 【发布时间】:2018-06-10 21:49:16 【问题描述】:在 Apple 的 Photos
框架中,有一个类 PHAssetCollection
,它代表用户库中的专辑。
我想获取相册并按上次编辑的日期对它们进行排序(例如,照片最后添加到相册或从相册中删除的日期) - 我还没有找到一种方法来做到这一点。
有没有办法编写一个查询来返回按最近编辑排序的专辑?
【问题讨论】:
【参考方案1】:有没有办法编写一个查询来返回按最近编辑排序的专辑?
没有。 PHAssetCollection 没有任何属性告诉您它的修改日期,并且 PHAsset 没有任何属性告诉您它何时添加到集合中。
【讨论】:
谢谢!是的,这也是我的假设。希望它存在!【参考方案2】:PHAssetCollection.endDate
的文档说:
此属性仅适用于类型为 PHAssetCollectionType.moment 的资产集合。对于其他资产集合类型,此属性的值为 nil。
但根据我的经验,这是错误的,endDate 会告诉您照片集中最近一张照片的日期。因此,如果您有专辑列表:
albums.sort (a1, a2) -> Bool in
if let d1 = a1.endDate, let d2 = a2.endDate
return d1 > d2
else
return true // aka kind of random
【讨论】:
以上是关于PHCollection:获取所有专辑,按最近编辑的排序的主要内容,如果未能解决你的问题,请参考以下文章
在 ElasticSearch 中获取最近到最远的所有评论,反之亦然