我想實現一個基於MVC模型的秒錶。秒錶的觀察者模式
秒錶使用NSTimer,並在每次超時時調用選擇器-(void) tick
。
我試圖讓秒錶作爲可重用性的模型,但我遇到了一些關於如何更新每個刻度的視圖控制器的設計問題。
首先我使用tick方法創建了一個協議,並將視圖控制器作爲其委託。然後視圖控制器根據每個滴答的計時器屬性更新視圖。 elapsedTime是隻讀NSTimeInterval。
它的工作原理,但我認爲這可能是不好的設計。我是Objective-C/Cocoa Touch初學者。我應該使用類似KVO的東西嗎?或者有沒有更適合模型的解決方案,以通知視圖控制器elapsedTime
已更改?
第一個問題很好!歡迎來到SO! –
定時器和視圖控制器之間的關係究竟是什麼?計時器是否由VC擁有? –
謝謝:) 計時器是由VC所有,是的。我已經實現了一個從Timer繼承的IntervalTimer,然後VC擁有IntervalTimer,IntervalTimer實際上是給我一些麻煩的一個。 – Jach0