Обычно я просто собираю приложение любым случайным образом, пока оно работает, но это означает, что я не обращаю никакого внимания на какие-либо шаблоны проектирования. В настоящее время мое приложение широко использует глобальные переменные (я храню экземпляр моего AppDelegate
в каждом контроллере представления для доступа к свойствам, объявленным в моем AppDelegate.h
). Хотя он делает то, что я хочу, я читал, что это не очень хорошая практика проектирования.
Итак, я хочу начать делать свой код "легитимным". Однако сейчас я не могу представить свое приложение без глобальных переменных. Они так важны для благополучия приложения, но это должно означать, что я делаю что-то не так, верно? Я просто не могу представить, как еще я мог бы делать некоторые вещи.Возьмем, к примеру, следующее:
Здесь у вас есть два контроллера представления: SideViewController
и MainViewController
. Использование глобальных переменных, например, если у всего приложения есть один общий экземпляр SideViewController
и MainViewController
(appDelegate.sideViewController
и appDelegate.mainViewController
), я могу легко обмениваться данными между двумя контроллерами представления, поэтому, если я нажму «Новостную ленту» в моем SideViewController
,Я могу сказать моему MainViewController
перезагрузить его представление.
Не представляю, однако, как бы это было сделано, если бы это были не глобальные переменные? Если в моем SideViewController
произойдет событие, как мне уведомить мой MainViewController
в соответствии со стандартами проектирования?