Я использую лист, чтобы запросить у пользователя некоторую информацию об операции, которую выполняет приложение. На листе имеется от 10 до 15 параметров (разделенных на 4 вкладки, так что это относительно чистый пользовательский интерфейс), которые остальная часть программы должна знать перед продолжением.
Сейчас у меня есть отдельный класс оконного контроллера для листа с именем SheetController
. SheetController имеет свойство делегата, а основной контроллер, AppController
, устанавливается в качестве делегата.
Когда пользователь нажимает кнопку OK на листе, делегат получает уведомление и выполняется метод с именем didClickDone:(id)sender withParameters:(id)parameters
. parameter
- это объект, который содержит различные свойства листа. У меня вопрос: это хороший подход к обработке листов и возвращению данных из них?
Во-вторых, меня беспокоит то, что parameter
- просто мертвый объект - у него есть только методы доступа. Он не выполняет никаких манипуляций с ними, поскольку его цель - «перенести» данные на главный контроллер, который, в свою очередь, передает информацию в модель программы. И, если я что-то упускаю, разве я не должен просто объявить parameter
нормальной структурой C? Или есть преимущество использования объекта для такого рода целей?
РЕДАКТИРОВАТЬ: Будет ли передача NSDictionary хорошим компромиссом? Я мог бы сохранить возвращенную информацию с их ключами в словаре и просто передать ее.