我有一個從框架多次調用的委託方法,我需要它等待在它再次運行之前顯示所有字母。我嘗試過dispatch_async(dispatch_get_main_queue()
,但再次調用該方法的另一個實例時會運行。方法不等待,直到再次運行
var myInt = 1
for letter in message.characters {
let delay = 0.1 * Double(NSEC_PER_SEC) * Double(myInt)
let dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
dispatch_after(dispatchTime, dispatch_get_main_queue(), {
self.textView.text = self.textView.text + String(letter)
})
myInt = myInt + 1
}
self.textView.text = self.textView.text + "\n"
使用標誌,不,直到所有的字母都不會顯示 –
當您使用dispatch_after未擋住,你可能認爲主隊列運行方法。 –