优化相册筛选内容的代码

This commit is contained in:
bluesea 2024-03-25 14:38:03 +08:00
parent b682664cbf
commit 94588c4e89
2 changed files with 19 additions and 48 deletions

View File

@ -353,16 +353,13 @@ class CCSpaceAlbumFilterPopView2: UIView {
let fetchOptions = PHFetchOptions() let fetchOptions = PHFetchOptions()
//ascending YES;NO //ascending YES;NO
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)] fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
// if self.selectedFileType != .all { if self.selectedFileType != .all {
// let format = "mediaType=%d" let predicate = NSPredicate(format: "mediaType = %d",
// let mt = PHAssetMediaType.init(rawValue: self.selectedFileType.rawValue)! self.selectedFileType.rawValue)
// fetchOptions.predicate = NSPredicate(format: format, fetchOptions.predicate = predicate
// argumentArray: [mt]) }
// }
let fetchResult_asset = PHAsset.fetchAssets(in: sac, options: fetchOptions) let fetchResult_asset = PHAsset.fetchAssets(in: sac, options: fetchOptions)
var count = 0 var count = 0
switch self.selectedFileType {
case .all:
for i in offset ..< fetchResult_asset.count { for i in offset ..< fetchResult_asset.count {
let asset = fetchResult_asset.object(at: i) let asset = fetchResult_asset.object(at: i)
addImageFromAsset(asset: asset) addImageFromAsset(asset: asset)
@ -371,35 +368,6 @@ class CCSpaceAlbumFilterPopView2: UIView {
break break
} }
} }
break
case .image:
for i in offset ..< fetchResult_asset.count {
let asset = fetchResult_asset.object(at: i)
if asset.mediaType == .image {
addImageFromAsset(asset: asset)
count += 1
if count >= filterLimit {
break
}
}
}
break
case .video:
for i in offset ..< fetchResult_asset.count {
let asset = fetchResult_asset.object(at: i)
if asset.mediaType == .video {
addImageFromAsset(asset: asset)
count += 1
if count >= filterLimit {
break
}
}
}
break
}
} }
self.listCollectView.reloadData() self.listCollectView.reloadData()
@ -413,12 +381,15 @@ class CCSpaceAlbumFilterPopView2: UIView {
requestOptions.deliveryMode = .highQualityFormat requestOptions.deliveryMode = .highQualityFormat
print("asset mediatype:\(asset.mediaType)") print("asset mediatype:\(asset.mediaType)")
PHImageManager.default().requestImageDataAndOrientation(for: asset, options: requestOptions) {[weak self] data, dataUTI, imagePropertyOrientation, info in PHImageManager.default().requestImageDataAndOrientation(for: asset, options: requestOptions) {[weak self] data, dataUTI, imagePropertyOrientation, info in
let photoImage:UIImage = UIImage(data: data!)! if let hasData = data {
let photoImage:UIImage = UIImage(data: hasData)!
//model //model
let model = CCSpaceAlbumFliterModel.initWithAssetType(assetType: AssetType.init(rawValue: asset.mediaType.rawValue-1)!, asset: asset,image:photoImage, localIdentifier: asset.localIdentifier) let model = CCSpaceAlbumFliterModel.initWithAssetType(assetType: AssetType.init(rawValue: asset.mediaType.rawValue-1)!, asset: asset,image:photoImage, localIdentifier: asset.localIdentifier)
self?.dataSource.append(model) self?.dataSource.append(model)
self?.listReloadData() self?.listReloadData()
} }
}
} }
} }