У меня работает приложение для iOS, и я пытаюсь очистить часть структуры кода и реализацию. Я хотел бы уточнить мое понимание MVC и улучшить мой код.
Вопрос: Допустимо ли передавать модель в UIView, чтобы представление могло отображать ее на основе состояний элементов модели?
Я обрисовываю пример ниже, но понимаю, что он может быть неясным, слишком утомительным для чтения и т. Д. Суть такова: если UIView не изменяет какие-либо значения в модели, нормально, что он сохраняет слабую ссылку на модель? (скажем, по сравнению с тем, чтобы всегда просить своего делегата вернуть временный указатель на модель).
- спасибо за любые комментарии!
Пример: представьте себе UIView, который представляет собой 10-этажное ЗДАНИЕ с 1 ОКНОМ на каждом этаже. МОДЕЛЬ для этого - NSArray, содержащий 10 экземпляров пользовательских окон WINDOW. Каждое ОК. имеет состояние (свет включен или выключен) и CGRect, представляющий положение ОКНА в общем прямоугольнике вида здания.
Контроллер для экземпляра BUILDING определяет размер представления здания (его фрейма) и всех объектов WINDOW, включая CGRect, его состояние и т. Д., Создавая модель NSArray. Затем я назначаю эту МОДЕЛЬ UIView для контроллера BUILDING (но сохранение является сильным свойством контроллера BUILDING).
UIView необходимо знать о состоянии ОКНА и CGRect, чтобы нарисовать представление в drawRect
.
Полагаю, я мог бы хранить CGRects отдельно, поскольку они не являются абстрактными данными, но казалось, что проще упаковать все это в один массив объектов.