PHCollection:获取所有专辑,按最近编辑的排序
PHCollection: Fetch all albums, sorted by most-recently edited
在 Apple 的 Photos
框架中,有一个 class PHAssetCollection
,代表用户库中的相册。
我想获取相册并按它们上次编辑的日期对它们进行排序(例如,照片最后添加到相册或从相册中删除的日期)- 我还没有想办法做到这一点。
有没有办法编写 returns 相册按最近编辑排序的查询?
Is there a way to write a query that returns albums sorted by most-recently-edited?
没有。 PHAssetCollection 没有任何 属性 告诉您它的修改日期,而 PHAsset 没有任何 属性 告诉您它何时被添加到集合中。
PHAssetCollection.endDate
的文档说:
This property applies only to asset collections whose type is PHAssetCollectionType.moment. For other asset collection types, this property’s value is 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
}
}
在 Apple 的 Photos
框架中,有一个 class PHAssetCollection
,代表用户库中的相册。
我想获取相册并按它们上次编辑的日期对它们进行排序(例如,照片最后添加到相册或从相册中删除的日期)- 我还没有想办法做到这一点。
有没有办法编写 returns 相册按最近编辑排序的查询?
Is there a way to write a query that returns albums sorted by most-recently-edited?
没有。 PHAssetCollection 没有任何 属性 告诉您它的修改日期,而 PHAsset 没有任何 属性 告诉您它何时被添加到集合中。
PHAssetCollection.endDate
的文档说:
This property applies only to asset collections whose type is PHAssetCollectionType.moment. For other asset collection types, this property’s value is 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
}
}