Explorar o código

fix 循环引用

harry %!s(int64=3) %!d(string=hai) anos
pai
achega
31c9cfc8d3
Modificáronse 1 ficheiros con 8 adicións e 8 borrados
  1. 8 8
      BFFramework/Classes/selectImage/PQUploadController.swift

+ 8 - 8
BFFramework/Classes/selectImage/PQUploadController.swift

@@ -539,20 +539,20 @@ extension PQUploadController: UICollectionViewDelegate, UICollectionViewDataSour
                 cell.uploadData = itemData
                 if itemData.image == nil, itemData.asset != nil {
                     cell.representedAssetIdentifier = itemData.asset?.localIdentifier
-                    imageManager.requestImage(for: itemData.asset!, targetSize: itemSize, contentMode: .aspectFill, options: nil) { image, info in
-                        if info?.keys.contains("PHImageResultIsDegradedKey") ?? false, "\(info?["PHImageResultIsDegradedKey"] ?? "0")" == "0", cell.representedAssetIdentifier == itemData.asset?.localIdentifier {
+                    imageManager.requestImage(for: itemData.asset!, targetSize: itemSize, contentMode: .aspectFill, options: nil) {[weak self, weak cell] image, info in
+                        if info?.keys.contains("PHImageResultIsDegradedKey") ?? false, "\(info?["PHImageResultIsDegradedKey"] ?? "0")" == "0", cell?.representedAssetIdentifier == itemData.asset?.localIdentifier {
                             if image != nil {
                                 itemData.image = image
-                                cell.videoImageView.image = image
+                                cell?.videoImageView.image = image
                             } else if image == nil, info?.keys.contains("PHImageResultIsInCloudKey") ?? false {
                                 let option = PHImageRequestOptions()
                                 option.isNetworkAccessAllowed = true
                                 option.resizeMode = .fast
-                                self.imageManager.requestImageData(for: itemData.asset!, options: option) { data, _, _, _ in
+                                self?.imageManager.requestImageData(for: itemData.asset!, options: option) { [weak cell] data, _, _, _ in
                                     if data != nil {
                                         let image = UIImage(data: data!)
                                         itemData.image = image
-                                        cell.videoImageView.image = image
+                                        cell?.videoImageView.image = image
                                     }
                                 }
                             }
@@ -569,10 +569,10 @@ extension PQUploadController: UICollectionViewDelegate, UICollectionViewDataSour
             let asset = itemData.categoryList.object(at: 0)
             if itemData.image == nil {
                 cell.representedAssetIdentifier = asset.localIdentifier
-                imageManager.requestImage(for: asset, targetSize: itemSize, contentMode: .aspectFill, options: nil) { image, info in
-                    if info?.keys.contains("PHImageResultIsDegradedKey") ?? false, "\(info?["PHImageResultIsDegradedKey"] ?? "0")" == "0", cell.representedAssetIdentifier == asset.localIdentifier {
+                imageManager.requestImage(for: asset, targetSize: itemSize, contentMode: .aspectFill, options: nil) { [weak cell] image, info in
+                    if info?.keys.contains("PHImageResultIsDegradedKey") ?? false, "\(info?["PHImageResultIsDegradedKey"] ?? "0")" == "0", cell?.representedAssetIdentifier == asset.localIdentifier {
                         itemData.image = image
-                        cell.uploadData = itemData
+                        cell?.uploadData = itemData
                     }
                 }
             } else {