|
@@ -51,19 +51,23 @@ class KMCompressOperation: KMBatchOperation{
|
|
|
self.delegate?.fileOperateFailed?(self.operateFile!, error: self.errorWithMsg(KMLocalizedString("Failed", nil)), info: self.operateFile!.compressInfo)
|
|
|
}
|
|
|
}
|
|
|
- if self.viewController?.view.window?.isVisible == true {
|
|
|
- self.willChangeValue(forKey: "isFinished")
|
|
|
- self.hasFinished = true
|
|
|
- self.didChangeValue(forKey: "isFinished")
|
|
|
+ DispatchQueue.main.async {
|
|
|
+ if self.viewController?.view.window?.isVisible == true {
|
|
|
+ self.willChangeValue(forKey: "isFinished")
|
|
|
+ self.hasFinished = true
|
|
|
+ self.didChangeValue(forKey: "isFinished")
|
|
|
+ }
|
|
|
}
|
|
|
}else {
|
|
|
- if self.viewController?.view.window?.isVisible == true {
|
|
|
- willChangeValue(forKey: "isFinished")
|
|
|
- willChangeValue(forKey: "isExecuting")
|
|
|
- hasExcuting = false
|
|
|
- hasFinished = true
|
|
|
- didChangeValue(forKey: "isExecuting")
|
|
|
- didChangeValue(forKey: "isFinished")
|
|
|
+ DispatchQueue.main.async {
|
|
|
+ if self.viewController?.view.window?.isVisible == true {
|
|
|
+ self.willChangeValue(forKey: "isFinished")
|
|
|
+ self.willChangeValue(forKey: "isExecuting")
|
|
|
+ self.hasExcuting = false
|
|
|
+ self.hasFinished = true
|
|
|
+ self.didChangeValue(forKey: "isExecuting")
|
|
|
+ self.didChangeValue(forKey: "isFinished")
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -74,17 +78,20 @@ class KMCompressOperation: KMBatchOperation{
|
|
|
if FileManager.default.fileExists(atPath: (operateFile?.compressInfo.outPutPath)!) { try? FileManager.default.removeItem(atPath: (operateFile!.compressInfo.outPutPath)!)
|
|
|
}
|
|
|
self.delegate?.fileOperateCanceled?(self.operateFile!, info: self.operateFile!.compressInfo)
|
|
|
-
|
|
|
- if self.viewController?.view.window?.isVisible == true {
|
|
|
- willChangeValue(forKey: "isFinished")
|
|
|
- hasFinished = true
|
|
|
- didChangeValue(forKey: "isFinished")
|
|
|
+ DispatchQueue.main.async {
|
|
|
+ if self.viewController?.view.window?.isVisible == true {
|
|
|
+ self.willChangeValue(forKey: "isFinished")
|
|
|
+ self.hasFinished = true
|
|
|
+ self.didChangeValue(forKey: "isFinished")
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
- if self.viewController?.view.window?.isVisible == true {
|
|
|
- willChangeValue(forKey: "isCancelled")
|
|
|
- hasCanceled = true
|
|
|
- didChangeValue(forKey: "isCancelled")
|
|
|
+ DispatchQueue.main.async {
|
|
|
+ if self.viewController?.view.window?.isVisible == true {
|
|
|
+ self.willChangeValue(forKey: "isCancelled")
|
|
|
+ self.hasCanceled = true
|
|
|
+ self.didChangeValue(forKey: "isCancelled")
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|