Создание обратного представления
Вряд ли здесь есть что-то для вас непонятное. Новый метод, ref reshFields, лишь собирает стандартные настройки пользователя и устанавливает text свойство всех надписей равным соответствующему defaults-объекту, используя значения ключей, которые мы поместили в наш файл свойств. Обратите внимание на надпись warpFactorLabel: только в этом случае мы вызываем для объекта метод stringValue. Все другие настройки представляют собой строки, которые возвращаются после сбора пользовательских настроек в качестве объектов типа NSString. Однако параметр, хранимый ползунком, возвращается в виде объекта типа NSNumber, поэтому мы и вызываем для него метод stringValue, чтобы получить строковое представление значения, которое он содержит.
После этого мы добавили метод viewDidAppear в котором вызывается метод ref reshFields. Мы снова вызываем метод ref reshFields после уведомления об освобождении контроллера обратного представления. Таким образом, отображаемые поля устанавливаются равными соответствующим значениям настроек после загрузки этого представления, а затем, т.е. после его выгрузки, они (поля) обновляются. Поскольку обратное представление обрабатывается модально, т.е. в ситуации, когда основное представление функционирует в качестве его модального родителя, метод viewDidAppear: контроллера главного представления (MainViewController) не будет вызываться, если обратное представление освобождено. К счастью, выбранный нами шаблон Utility Application обеспечил нас методом делегата, который мы можем использовать точно с такой же целью.
Итак, этот класс "укомплектован". Вы могли бы теперь скомпилировать и запустить свое приложение и получить изображение, подобное но, конечно, с использованием тех значений, которые вы ввели в свое приложение Settings. Дорогу осилит идущий, не правда ли?
Теперь, когда наше основное представление находится "в рабочем состоянии”, займемся созданием обратного представления.
Обратное представление содержит переключатель Warp Engines и ползунок Warp Factor. Мы будем использовать те же самые управляющие элементы, которое использует приложение Settings для этих двух элементов: переключатель и ползунок. Помимо добавления входов, мы также должны объявить метод ref reshFields, который уже реализован в контроллере MainViewController, и два метода, выполняющих действия, которые будут запускаться при постукивании пользователя по этим элементам.
- Дата: 24-12-2014, 21:28