Próbuję zaimplementować stoper oparty na modelu MVC.Wzorzec obserwatora dla stopera
Stoper używa NSTimer z selektorem -(void) tick
nazywane każdym timeout.
Próbowałem ustawić stoper jako model ponownego użycia, ale pojawiły się problemy z projektowaniem dotyczące aktualizacji kontrolera widoku dla każdego tiku.
Najpierw utworzyłem protokół za pomocą metody tick i ustawiłem kontroler widoku na jego delegata. Następnie kontroler widoku aktualizuje widoki w oparciu o właściwości timera przy każdym tiku. elapsedTime jest tylko NSTimeInterval w trybie tylko do odczytu.
Działa, ale myślę, że to może być zły projekt. Jestem początkującym użytkownikiem Objective-C/Cocoa Touch. Czy powinienem używać czegoś takiego jak KVO? Czy istnieje bardziej eleganckie rozwiązanie dla modelu, aby powiadomić kontroler widoku, że zmieniono elapsedTime
?
Ładne pierwsze pytanie! Witamy w SO! –
Jaki jest dokładnie związek między zegarem i kontrolerem widoku? Czy licznik jest własnością VC? –
Dziękuję :) Timer jest własnością VC, tak. Zaimplementowałem IntervalTimer, który dziedziczy z Timera, a następnie VC posiada IntervalTimer - IntervalTimer jest tym, który daje mi trochę kłopotu. – Jach0