我試圖在加載圖像時更新進度條。我在這裏閱讀了幾個答案,並試圖用不同的方式對我的代碼進行格式化。我正在嘗試閱讀圖像並更新進度欄。然後,將加載所有圖像調用代碼來處理它們。我得到的最好結果是大部分時間都有效的代碼。但是,如果我正在處理一個拉大量圖像的情況,我會發現奇怪的錯誤。我認爲它會在所有圖像完全加載之前繼續運行繼續代碼。當我刪除dispatch_async時,代碼工作正常,但進度條不更新。使用dispatch_async在後臺加載圖像
func imageLocXML(il:String) {
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0)) {
let url:NSURL? = NSURL(string: il)
let data:NSData? = NSData(contentsOfURL: url!)
let image = UIImage(data: data!)
pieceImages.append(image!)
self.numImagesLoaded += 1
self.updateProgressBar()
if self.numImagesLoaded == self.numImagesToLoad {
self.continueLoad()
}
}
}
歡迎來到SO,請在您的問題中投票您的答案,謝謝。 –