У меня относительно простое приложение. У меня есть полноэкранный подкласс UIView (musicGridView), с которым взаимодействует пользователь, и подкласс UIScrollView (scrollView), который загружает этот класс, а также ViewController и mainWindow.xib.
Прямо сейчас у меня загружен экземпляр viewController, который имеет тип myViewController. У пера также есть экземпляр myUIView, на который указывает myViewController.
В AppDelegate я делаю это:
[window addSubview:scrollView];
[scrollView addSubview: viewController.view];
scrollView.musicGridView = (MusicGridView*) viewController.view;
что я считаю неправильным. В идеале, appDelegate не имеет экземпляра scrollView.
В классе scrollView AwakeFromNib я выполняю инициализацию в scrollView.
Я думаю, что так и должно быть: загрузить [window addSubview: viewController.view] в appDelegate, а затем указать viewController на экземпляр scrollView вместо musicGridView. Затем в scrollView awakeFromNib добавьте подпредставление musicGridView.
В конце концов, я хочу создать другое представление, принадлежащее scrollView, которое на самом деле является боковой панелью TabBar (что невозможно с данным API), которую пользователь может прокручивать влево для достижения.
Так что я думаю, что среди других вещей MVC вопрос заключается в том, должен ли viewController указывать на scrollView, который содержит все другие подклассы содержимого UIView, включая musicGridView?