У меня есть 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 = ложный вызов, ни обновление 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")
}
})
Может ли кто-нибудь дать представление о том, почему это может быть?
Вы уверены, что обратный звонок находится в основном потоке? –
Я не был! Это был ответ! Не могли бы вы назвать это ответом, а не комментарием, чтобы я мог его принять? –