         var sucCount = 0
         let totalCount = self.arrSelectedModels.count
         for (i, m) in self.arrSelectedModels.enumerated() {
-            let operation = ZLFetchImageOperation(model: m, isOriginal: self.isSelectOriginal) { [weak self] (image, asset) in
+            let operation = ZLFetchImageOperation(model: m, isOriginal: self.isSelectOriginal) { (image, asset) in
                 guard !timeout else { return }
                 
                 sucCount += 1

        }
    }
    
    func hide() {
        if self.animate {
            var frame = self.baseView.frame
            frame.origin.y += self.baseViewHeight

        
        hud.show(timeout: ZLPhotoConfiguration.default().timeout)
        
        let callback = { [weak self] (sucImages: [UIImage], sucAssets: [PHAsset], errorAssets: [PHAsset], errorIndexs: [Int]) in
            hud.hide()
            
            func call() {
                self?.selectImageBlock?(sucImages, sucAssets, self?.isSelectOriginal ?? false)
                if !errorAssets.isEmpty {
                    self?.selectImageRequestErrorBlock?(errorAssets, errorIndexs)
                }
            }
            
            if let vc = viewController {
                self?.isHidden = true
                self?.animate = false
                vc.dismiss(animated: true) {
                    call()
                    self?.hide()
                }
            } else {
                self?.hide(completion: {
                    call()
                })
            }
            
            self?.arrSelectedModels.removeAll()
            self?.arrDataSources.removeAll()
        }
        
        guard ZLPhotoConfiguration.default().shouldAnialysisAsset else {
            callback([], self.arrSelectedModels.map { $0.asset }, [], [])
            return
        }
        
