可以說,我有一個複雜的計算在NSOperation塊中運行。我已經暫停了。關閉應用程序。然後重新啓動應用程序。我能恢復最後的狀態並從那裏繼續嗎? 是否存在針對此類問題的現有解決方案,或者它只能爲特定目的而定製?保存暫停NSOperationQueue文件
1
A
回答
0
這個問題有點含糊,所以很難說不知道所有的代碼在使用。有了這個說法,我可以通過以下方式來解決問題:
選項1.在NSOperation的子類中,添加您自己的原子KVO屬性「isPaused」。在操作本身中,如果它發生變化,請觀察該屬性並進行相應處理。
選項2.您是否暫停過Operation Queue本身?如果是這樣,請考慮從您的操作中觀察該屬性,並且如果該值發生更改,則每個人都可以獨立採取措施。
選項3.取消隊列中的所有操作,如果視圖再次出現,只需重新啓動新操作即可。
總體而言,暫時沒有正在進行的操作沒有靈丹妙藥。你將不得不烘烤你自己的解決方案。儘管如此,傷害不應該太大。
掛起和恢復隊列如果您想暫時停止執行操作,可以使用setSuspended:方法掛起相應的操作隊列。
暫停隊列不會導致已執行的操作在其任務中間暫停。它只是防止新的操作被安排執行。您可能會暫停隊列以響應用戶請求暫停任何正在進行的工作,因爲預期用戶可能最終想要恢復該工作。
欲瞭解更多詳情請參閱此鏈接蘋果文件:http://developer.apple.com/library/mac/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationObjects/OperationObjects.html
相關問題
- 1. NSOperationQueue暫停和恢復?
- 2. NSOperationQueue會隨機暫停嗎?
- 3. 暫停執行,直到保存文件
- 4. 如何在NSOperationQueue中暫停NSOperation?
- 5. 暫停正在執行的任務NSOperationQueue
- 6. 暫停exe文件
- 7. 爲什麼我的NSOperationQueue在暫停時停止執行?
- 8. NSTimer暫停/播放文件1,暫停/播放文件2
- 9. ArrayList在暫停時不保存
- 10. 嘗試保存時無法暫停EditText
- 11. 暫停後保存遊戲狀態。 AndEngine
- 12. 在Python中暫時保存文件?
- 13. 停止NSOperationQueue
- 14. 寫大文件,並暫停
- 15. 播放暫停AVAudioRecorder文件
- 16. FileSystemWatcher在保存文件之前觸發 - 您如何「暫停」該過程?
- 17. 行文中:暫停,停止
- 18. NSOperationQueue會保留在內存中多久?
- 19. 批處理文件:暫停不會保持窗口打開
- 20. 暫停循環並暫停
- 21. 暫停存儲訪問?
- 22. xml幀暫停閃存
- 23. NSOperationQueue和內存
- 24. VBA:保存事件之前 - 暫停運行,直到用戶確認另存爲
- 25. 暫時保存文本區域值
- 26. 暫時保存Word文檔更改
- 27. 暫停使用批處理文件
- 28. 如何使用C#暫停MP3文件?
- 29. Android DDMS加載的GPX文件暫停
- 30. AFNetworking +暫停/繼續下載大文件