【发布时间】:2015-05-02 23:30:47
【问题描述】:
我需要获取按拍摄日期排序的三张照片 - 最近的是最近拍摄的。我目前这样做的方式是获取所有照片资产,然后在适当的索引(0、1、2)处获取资产。虽然这可行,但我很好奇当我只对前三名感兴趣时是否有更有效的方法来做到这一点。文档解释 fetch 不会返回所有图像数据 - 仅返回元数据,但我仍然不需要获取所有元数据。有没有PHFetchOption 可以用来限制获取,或者NSPredicate,或者不需要担心?
var assetsFetchResults = PHAsset.fetchAssetsWithMediaType(.Image, options: nil)
let imageManager = PHCachingImageManager()
if assetsFetchResults?.count > 0 {
var asset = assetsFetchResults?[0] as? PHAsset
imageManager.requestImageForAsset(asset, targetSize: targetSize, contentMode: .AspectFill, options: nil, resultHandler: ...)
}
//repeat for index 1 and 2
【问题讨论】:
-
你可以使用
fetchKeyAssetsInAssetCollection:options:来获取几张KEY照片,而不是fetchAssetsInAssetCollection:options:options: -
这在应用特定用户库的情况下不起作用。
-
@jarora 它在 iOS 8.4.1 的第三方应用创建的相册中对我有用
标签: ios photokit phasset phfetchoptions