我有NSOperationQueue
與其中一些NSOperations
(特別是NSInvocationOperations
)。此操作會進行一些計算並相應地更改UI元素的狀態(當然,通過performSelectorOnMainThread:...
),通常會使用動畫。暫停NSOperation
我的用戶界面有UINavigationViewController和一些按鈕導航到另一個視圖。所以用戶可以離開當前視圖,而計算/動畫仍在進行中。我需要的是以某種方式阻止它,直到用戶回到當前視圖。
我發現的唯一解決方案是創建一些線程安全的布爾標誌 - 並在所有線程中檢查它(類似於:while!flag sleep_for_some_time;)。有什麼更好的嗎?