我能夠在Objective-C中創建一個並行循環嗎? 例如,我希望能夠運行正常的程序,使按鈕和其他項目響應,但也有一個連續的循環,每五秒鐘遞增一個整數。這是可能的,還是有另一種方式來做到這一點?在不干擾GUI的情況下增加一個變量
0
A
回答
0
使用此..這將在後臺創建一個計時器5秒鐘。用你的代碼替換你的功能。解決方案運行NSTimer
每5秒後
double delayInSeconds = 5.0; // 5 second delay dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); dispatch_after(popTime, dispatch_get_main_queue(),^{ //Your code });
0
一個會閃光。這不是一個「連續循環」,但它是每X秒完成一項短暫任務的完美解決方案。
另一種可能性是寫一個普通的
for
環與sleep
並將其指派給一個背景隊列(dispatch_async
,dispatch_get_global_queue
)。這比NSTimer
複雜一點,但你也可以得到一個真正的「連續循環」,與你的普通代碼並行運行。你也可以使用
-performSelectorInBackground
或創建一個真正的背景NSThread
與你的循環,但實質上(2),更復雜。
閱讀可可Concurrency Programming Guide瞭解詳情。
相關問題
- 1. 在不使用函數的情況下增加一個變量
- 2. 如何在不干擾內容的情況下更換標籤?
- 3. Java如何在不干擾的情況下監聽端口上的流量
- 4. 在不干擾GUI的情況下對多個線程使用多個進度條
- 5. 在不干擾物理的情況下檢查兩個物體的碰撞(Box2D)
- 6. 如何在不干擾彼此的情況下調用兩個動畫?
- 7. 靜態變量干擾ASP.net?
- 8. XML干擾javascript變量
- 9. 如何在這種情況下向變量添加一個id?
- 10. 在不受干擾的情況下在一個頁面上顯示具有不同樣式的html
- 11. 如何在不干擾我的頁面的情況下正確實施mysite.com/username?
- 12. 正則表達式$ 1到變量干擾另一個變量
- 13. Javascript - 一個函數的變量干擾另一個
- 14. 本地變量干擾$ _SESSION變量?
- 15. 變量不會在目前情況下
- 16. JQuery:如何在不干擾內容的情況下替換標籤?
- 17. 在不干擾其他位的情況下寫入C語句清除兩位
- 18. 如何在不干擾浮動DIV的情況下使包裹文字消失?
- 19. 如何在不干擾頁面內容的情況下刷新頁面
- 20. SPSS - 變量的情況下
- 21. 如何增加下一個變量?
- 22. Scala中追加一個標籤不變的情況下,類
- 23. Bash:在不顯示的情況下初始化這個變量
- 24. 某些環境變量在某些情況下不加載
- 25. 在不增加寬度的情況下增加文本的高度
- 26. 在不增加Cores的情況下增加Spark執行程序的並行度
- 27. 如何在兩種情況下增加php數量?
- 28. 在這種情況下如何在不聲明全局變量的情況下將一個函數的變量用於另一個函數?
- 29. css - 在不干擾文檔的其他部分的情況下添加並定位div
- 30. 如何在不改變MySQL的情況下停止自動增量?