Вы не должны хранить состояние элемента управления в самом элементе управления.
Элемент управления индикатора прогресса не обеспечивает доступ к своему анимированному состоянию, поскольку в отличие от текстового поля пользователь не может изменить состояние элемента управления. Вы никогда не окажетесь в ситуации, когда состояние элемента управления изменится, если ваш код его не инициирует. Потому что вы тот, кто устанавливает его состояние, поэтому вы должны следить за ним.
Какао использует шаблон Model-View-Controller, а индикатор прогресса - это представление. Если вы сохраняете состояние в элементе управления, вы нарушаете шаблон MVC.
Ваш вид должен всегда отражать вашу модель, и контроллер находится там, чтобы обеспечить синхронизацию вида и модели.
Вы должны либо использовать привязки Какао, чтобы связать анимированное состояние вашего индикатора прогресса с BOOL
, хранящимся в вашей модели (предпочтительно), либо внедрить код в вашем классе контроллера для управления анимированным состоянием индикатора прогресса, когда есть замените его на BOOL
, хранящийся в вашей модели.