В последние дни я играл с Facebook iOS API, и у меня возникли вопросы. Если у меня есть два разных контроллера представления, которым обоим нужно использовать объект Facebook, как мне поделиться объектом? И нужно ли вообще этим делиться? Я думал о создании синглтона. Я думал о создании класса SocialMedia, который имеет метод класса с именем sharedFacebook.
Затем у меня есть другой класс с именем PREFIXFacebook, где я соответствую протоколу сеанса и создаю объект. Этот класс имеет атрибут с именем facebook. Затем я создаю экземпляр этого класса в классе SocialMedia и отправляю ему метод «facebook» и назначаю возвращенный объект статической переменной Facebook в SocialMedia. Это плохой дизайн? Я не делал много одиночных игр раньше, и я даже не знаю, если это необходимо, но я не хочу дублировать код.
Другой подход заключается в том, чтобы сделать это в делегате приложения, но я прочитал здесь пост о переполнении стека и услышал в одном из видео Стэнфорда iOS, что плохо делать такие вещи с глобальными. Есть мысли?