Фреймворк для таймера


#1

Всем привет.
Есть такое задание:
нужно сделать свой небольшой фреймворк для таймера, который уже в последствии нужно использовать для приложения таймер.

Сами методы старта таймера, паузы, не вызывают проблем с написанием, но вот как самому фреймворку оповещать приложение, о том, что время изменилось, получается каждую секунду это нужно как-то делать, а как, я пока не понял. Собственно в этом и вопрос, как делигировать фреймворку оповещение приложения об ежесекундном увеличение времени?


#2

А зачем извещать приложение? Можно конечно использовать NotificationCenter, который будет посылать оповещение о срабатывании таймера, но гораздо проще создать не опциональный протокол, подписаться на него в приложении после исмпортирования фрейма в модуль и в нем реализовать метод срабатывания кода по таймеру.

К примеру:

protocol TimerDelegate {
    func onTimerDo(callback: @escaping ()->())
}

После:

import YourTimerFramework

class YourClass: .... , TimerDelegate {

    func onTimerDo {
        // here your code
    } 

}

Ну а там зависит от вашей фантазии как реализовать метод протокола в вашем фрейме, чтобы он стучался по таймеру наружу


#3

задание такое) каждую секунду должен фрейм оповещать приложение.
разрешил проблему через делегирование.
но спасибо за помощь