PHCollection:获取所有专辑,按最近编辑的排序

时间:2018-06-10 21:49:17

标签: ios photosframework

在Apple的Photos框架中,有一个类PHAssetCollection,代表用户库中的相册。

我想要获取相册并按照上次编辑的日期对其进行排序(例如,照片上次添加到相册或从相册中删除的日期) - 我还没有找到一种方法。

有没有办法编写一个返回按最近编辑的最近排序的专辑的查询?

2 个答案:

答案 0 :(得分:1)

  

有没有办法编写一个返回按最近编辑的最近排序的专辑的查询?

没有。 PHAssetCollection没有任何属性告诉您其修改日期,并且PHAsset没有任何属性告诉您何时将其添加到集合中。

答案 1 :(得分:0)

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
    }
}