优化相册筛选内容的代码
This commit is contained in:
parent
b682664cbf
commit
94588c4e89
Binary file not shown.
@ -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()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user