2
我有一個for循環到主隊列排隊塊如下:塊串行調度隊列不執行 - GCD iOS的Objective-C的
for (int x=0; x<5; x++) {
double delayInSeconds = x * .03;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
... code here ...
}
}
只有第一個塊被執行。我已經驗證了循環正常工作,它正在循環適當的次數,並且不會引發異常或錯誤。
塊中的代碼是否在操縱調度隊列?另外,它看起來延遲的粒度非常小。如果時間很重要,你有沒有考慮爲這段代碼創建一個新的調度隊列? –
由於此代碼甚至無法編譯,因此很明顯,您並未剪切並粘貼它。你的實際代碼是什麼樣的?有可能你有一個類型或一些這樣的。另外,你確定排隊的塊永遠不會被調用嗎?修復代碼後,它適用於我(我可以看到該塊執行5次)。 –