【问题标题】:PHCollection: Fetch all albums, sorted by most-recently editedPHCollection:获取所有专辑,按最近编辑的排序
【发布时间】:2018-06-10 21:49:16
【问题描述】:

在 Apple 的 Photos 框架中,有一个类 PHAssetCollection,它代表用户库中的专辑。

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

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

【问题讨论】:

    标签: ios photosframework


    【解决方案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
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多