我需要获取按拍摄日期排序的三张照片——最新的是最近拍摄的。我目前这样做的方式是获取所有照片资产,然后在适当的索引(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