1
我需要獲取按照拍攝日期排序的三張照片 - 最近一次是最近拍攝的。我目前這樣做的方式是獲取所有照片資產,然後在適當的索引(0,1,2)處獲取資產。雖然這是有效的,但當我只對前三名感興趣時,我很好奇是否有更高效的方式來做到這一點。該文檔解釋了獲取並不會返回所有圖像數據 - 只有元數據,但我仍然不需要獲取所有的元數據。有沒有PHFetchOption
我可以用來限制抓取,或NSPredicate
,或者是沒有必要擔心?將PHAsset獲取結果限制爲只有3個資產
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同時支持iOS的8,9:選擇: '獲取一些關鍵照片而不是'fetchAssetsInAssetCollection:options:options:' – k06a
這對於應用程序特定的用戶庫不起作用。 – jarora
@jarora它在iOS 8.4.1中適用於由第三方應用程序創建的相冊 – Joey