Могу ли я связать элементы управления UIView (например, UILabel, UIPickerView) напрямую с переменными экземпляра модели? - PullRequest
0 голосов
/ 06 апреля 2011

Справочная информация. Обычно с базовыми UIViewControllers я узнал, как создавать переменные экземпляра, помеченные как IBOutlet, и связывать их с фактическими элементами управления представлением с помощью Interface Builder.

Вопрос. Если я передаю объект модели в UIViewController, есть ли способ связать элементы управления View (например, UILabel, UIPickerView и т. Д.) Напрямую с переменными модели (т. Е. Фактически с переменными экземпляра в пользовательском классе)?

Таким образом, как только пользователь изменяет элемент управления пользовательского интерфейса, он мгновенно обновляет атрибуты модели.Предполагая, что вы передали модель контроллеру в качестве передачи по ссылке, поэтому вы автоматически обновили значения для родительского элемента в результате.

Я думаю, что во избежание необходимости (а)при инициализации переведите значения модели, чтобы установить компоненты пользовательского интерфейса, и (b) при завершении работы с представлением о необходимости вручную обновлять переменные модели из компонентов пользовательского интерфейса.

Ответы [ 2 ]

2 голосов
/ 06 апреля 2011

Как и состояния onnoweb, я не думаю, что вы могли бы сделать это автоматически, в основном потому, что Obj-C никогда не узнает, какие типы переменных вы на самом деле искали.Однако вы можете (и я подчеркиваю это), чтобы ваша модель управляла вашим представлением, позволяя вашей модели иметь представление как свойство.

Учитывая, что Obj-C построен на MVC-архитектура, я бы не советовал, хотя.Пусть ваш контроллер сделает всю работу.Если вы правильно установили триггеры, это не должно быть большой проблемой.

1 голос
/ 06 апреля 2011

Я не думаю, что в Obj-C есть концепция привязки свойств.

...