Я относительный новичок в разработке iOS, но мне удалось заставить мое приложение делать все, что я хочу. Тем не менее, у меня есть некоторые вопросы об объединении приложения.Как связать appDelegate с остальной частью приложения?
Единственный код, который у меня есть в моем приложении appDelegate, обрабатывает удаленные уведомления; когда я получаю удаленное уведомление, я отправляю пользователю сообщения, сообщения и т. д. Я также генерирую уведомления для центра уведомлений, которые вызывают разные методы для запуска внутри разных контроллеров представлений.
Как насчет всех различных функций в appDelegate? DidEnterBackground, WillEnterForeground и т. Д.? Мое приложение запускается на одном представлении (view1), которое создает объект (stream1), который имеет метод stopStream. У меня есть кнопки для запуска и остановки потоков ([self.stream1 stopStream]). Мой вопрос в том, как мне вызвать эти методы, чтобы остановить этот конкретный экземпляр объекта в одном из методов appDelegate? Нужно ли мне создавать уведомление для центра уведомлений внутри appDelegate и обрабатывать его при запуске в представлении? Или есть более простой метод? Или я делаю все совершенно неправильно, а не в соответствии с лучшими практиками?
Любая помощь будет оценена! Кроме того, ссылка на руководство по архитектуре приложений или ссылку на вашу любимую книгу о создании приложений в iOS было бы здорово!
поэтому appDelegate отправляет уведомление, когда вызывается его различные методы? интересно; я буду искать документацию! – Bassel
Нет, это не то, что я сказал. Например, когда приложение возвращается на передний план, ОС выполняет две независимые вещи. 1) Он вызывает метод applicationWillEnterForeground: 'в делете приложения, если он реализован. 2) Он размещает 'UIApplicationWillEnterForegroundNotification'. Любой класс, который регистрирует это уведомление, получит уведомление. – rmaddy
ah ok; это очень полезно. Спасибо! – Bassel