我需要按拍摄日期排序拍摄三张照片 - 最近拍摄的是最近拍摄的照片。我目前这样做的方法是获取所有照片资产,然后在适当的索引(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
答案 0 :(得分:4)
因此,对于iOS 9,您可以设置PHFetchOptions设置以限制您获取的数量。例如:
Mockito.mock
但是我也在寻找一种在iOS 8设备上执行此操作的方法,因为此时我们仍然需要支持iOS 8和9