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