Вы можете создать подкласс, чтобы дать каждому vc любые методы, которые вам нравятся, и вызывать их с общим классом, сообщение будет передано вниз.
Самое быстрое решение - это простой NSNotificationCenter
пример . Проверено и работает.
Мне нужно было заняться чем-то другим, поэтому я сделал это по-другому.
Создание методов handleVC1, handleVC2 и т. Д. В appDelegate.
В viewWillAppear в каждом viewcontroller, который должен отвечать, задайте объект visibleID (любого типа) в appDelegate.
В applicationWillResignActive используйте идентификатор для вызова соответствующего метода. Они могут быть
-(void)handleVC1 {[vc1 handleIncomingCall];}
-(void)handleVC2 {[vc2 handleIncomingCall];}
Но если эту обработку не нужно выполнять внутри каждого viewcontroller, то для handleVC1, handleVC2 и т. Д. Может быть полностью написан код в appDelegate, и он все равно может несколько адаптироваться.
Я обычно @class vc1 (и т. Д.) ... IBOutlet ... все равно добавляю и подключаюсь в mainwindow.xib. Таким образом, у меня есть 1 инициализированный объект для каждого viewcontroller, и я могу делать с ними все, что захочу, если возникнет такая необходимость. Стандартная процедура:)
Один из них должен исправить тебя, я думаю.