我想解決Objective-C中的一個問題,但我不認爲這個問題是特定於語言的。模型應該如何更新其進度的UI?
我不得不在一個沒有UI概念的模型類中做一些處理。但是,這個處理需要一些時間,我想通過進度條讓用戶知道狀態。
我在這第一次嘗試定義進度處理協議/接口的概念有一些方法,如
-startOperation;
-updateProgress:(double)currentValue ofMax:(double)maxValue
-endOperation;
這樣我的UI可以實現了模型不一定知道其他發生的事情的細節比有人想要進度更新。目前我的用戶界面取消隱藏進度條,並更新它,然後在完成時隱藏它。到現在爲止還挺好。
但是,事實證明,有時這種操作處理非常快。這樣UI更新在執行時會導致相當令人不安的閃爍。我不知道手術是快速還是緩慢。
我的一個想法是強制操作至少需要一定的時間來避免UI變化如此震撼人心,但這似乎將UI的知識放在模型類中,而這肯定是錯誤的。
這似乎是一個常見的問題(希望)一些已知的模式。
你會如何解決這個問題?
A +++++++深刻見解再次超越! –
同意。這是一個偉大的見解。謝謝。 – nall