Утилитное приложение для iPhone OS — коммуникация в режиме Flipside View и Main View

В настоящее время я работаю над приложением для iPhone 2.1. Я новичок в Objective C, исходя из фона Java.

В основе моего приложения лежит шаблон служебного приложения, доступный в Xcode с iPhone SDK. В настоящее время у меня есть некоторые элементы управления, такие как UISlider и текстовое поле, в файле FlipsideView. У UISlider уже есть метод, который вызывается при изменении значения с использованием целей и селекторов. Однако я также хотел бы иметь возможность читать из MainView текущее (или последнее) значение UISlider и textbox.

Имейте в виду, что я новичок в разработке на Mac и был бы признателен за любые указания относительно того, где я должен искать такую ​​информацию, будь то с помощью делегатов или, возможно, я упускаю что-то очевидное в структуре шаблона.

ОБНОВЛЕНИЕ: я смотрю на структуру и у меня есть некоторые подробности: UISlider создается в FlipsideView.m. Я заметил, что кнопка "Готово" создана из RootViewController.m и, возможно, мне следует переместить туда код UISlider. Я могу неправильно использовать View, чтобы сохранить код, который был бы более подходящим в контроллере.


person Héctor Ramos    schedule 04.11.2008    source источник


Ответы (2)


В конечном итоге вы должны обновить какой-либо базовый объект значениями из контроллера. В общем, ползунок принадлежит слою просмотра — это элемент отображения. Однако действие, которое производит регулировка ползунка, является компонентом контроллера, и оно должно возвращаться в вашу модель для обновления значения. Я настоятельно рекомендую рисовать прямоугольники на листе бумаги и пытаться создать максимально чистое разделение для слоев вашего приложения - в этом случае это приведет к созданию двух представлений для каждой "стороны" утилиты, которые через контроллер будут связаны к модели. Затем перемещение ползунка «мгновенно» обновляло бы модель сзади. Видео Cocoa Fundamental на сайте разработчиков iPhone наглядно демонстрирует это.

person wisequark    schedule 04.11.2008
comment
Ценится. Будучи моим первым приложением для iPhone, я не планировал его, и все, что работало, осталось. Мне нужно провести рефакторинг и учесть ваши предложения. - person Héctor Ramos; 05.11.2008

У меня точно такая же ситуация: первое приложение для iphone, новичок в программировании на Mac, создание утилиты, ползунки на оборотной стороне.

Следуя примеру и бесплатному руководству здесь (http://www.bestechvideos.com/2008/11/13/writing-iphone-app-free-episode) Я решил, что ползунки и другие элементы управления должны быть объявлены в контроллере flipsideview. (Что оставляет представление довольно пустым - я полагаю, что использование файла ресурсов Nib для пользовательского интерфейса оставляет класс ... View.m в значительной степени избыточным?)

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

(Кстати, ответ — это правильное место, чтобы добавить к вопросу?)

person Rhubarb    schedule 14.01.2009