我有一個NSProgressIndicator(進度條),這似乎完全在工作時的委託方法像這樣的裏面:NSProgressIndicator沒有內部功能的工作與回調
func restClient(client: DBRestClient!, uploadProgress progress: CGFloat, forFile destPath: String!, from srcPath: String!) {
if progress == 1.0 {
progressBar.hidden = true
generalAlert("Uploaded", text: "Your File has been saved to your computer and uploaded under: \(destPath)")
} else {
progressBar.hidden = false
print(progress) // e.g 0.010213
progressBar.doubleValue = Double(progress)*100
}
}
但是,擺在函數內部有一個回調的時候,我似乎無法以任何方式修改它(既不接受我的isHidden = false調用,也不接受doubleValue更新)。
CloudConvert.convert([
"inputformat": "gif",
"outputformat" : "mov",
"input" : "upload",
"file": name],
progressHandler: { (step, percent, message) -> Void in
print(percentage!) //e.g 10.31451. Called every second
self.progressBar.hidden = false //Doesn't Work
self.progressBar.doubleValue = Double(percentage!) //Doesn't Work
},
completionHandler: { (path, error) -> Void in
if(error != nil) {
self.progressBar.hidden = true
self.generalAlert("ERROR", text: "Your file could not be uploaded")
} else {
self.progressBar.hidden = true
self.generalAlert("MOV Uploaded", text: "Your MOV has been saved to your computer and uploaded")
}
})
任何人都可以提供一個爲什麼這可能是一個想法?
你確定回調是在主線程上嗎? –
我不是!這就是答案!你會把它作爲答案,而不是評論,以便我可以接受它嗎? –