优化相册筛选内容的代码

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