嗨,我有一个关于PHImageFetch的问题
我正在尝试使用PHFetchOptions获取最近创建的图像 .
但它总是返回过去创建的图像 .
这是我的简单代码 . 有人请帮帮我吗?
它总是返回从库中创建的照片 .
override func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {
let options = PHImageRequestOptions()
options.networkAccessAllowed = true
options.synchronous = false
//I want use this!
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]
//
PHImageManager.defaultManager().requestImageForAsset(assets?[indexPath.row] as! PHAsset, targetSize: CGSizeMake(114, 114), contentMode: PHImageContentMode.AspectFill, options: options) { (image, info) -> Void in
if (image != nil) {
(cell as! PhotoCell).image = image
}
}
}
我正在尝试通过PHFetchOptions获取最近创建的照片 .
我已经尝试设置“fetchOptions.sortDescriptors = [NSSortDescriptor(key:”creationDate“,ascending:true)]”或“fetchOptions.sortDescriptors = [NSSortDescriptor(key:”creationDate“,ascending:false)]”
但结果相同......过去创作的照片 .
当我获取最近创建的图像然后将图像设置为_568008中的单元格时,这个逻辑是否正常?
override func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {
if isGellery == true {
let options = PHImageRequestOptions()
options.networkAccessAllowed = true
options.synchronous = false
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]
// Sort the images by creation date
//
if let fetchResult: PHFetchResult = PHAsset.fetchAssetsWithMediaType(PHAssetMediaType.Image, options: fetchOptions) {
//
// // If the fetch result isn't empty,
// // proceed with the image request
if fetchResult.count > 0 {
// // Perform the image request
imgManager.requestImageForAsset(assets?[indexPath.row] as! PHAsset, targetSize: CGSizeMake(114, 114), contentMode: PHImageContentMode.AspectFill, options: requestOptions, resultHandler: { (image, _) in
if (image != nil) {
(cell as! PhotoCell).image = image
}
})
}
}
}
}
块是我试图获取的 .
我认为这是关于indexPath.row的问题..
1 回答
也许你应该用专门的方法 grab 你所有的照片 . 在这里,每次都会调用显示细胞,你循环浏览所有照片 .
这是我按照创建日期获取所有用户照片的方法 .
看看这个好的教程:https://www.youtube.com/watch?v=BFZ4ZCw_9z4