Вы можете добавить делегата в класс, который слушает сервер, и поэтому, когда он получает это сообщение, он просто вызывает отключение, кем бы ни был его делегат.Какой бы вид ни отображался, чтобы получить сообщение, а также нормальное выполнение, пока сообщение не будет получено.Если это одноэлементный режим, просто установите представление в качестве делегата на viewWillAppear
.
Другим жизнеспособным вариантом является использование центра уведомлений.Поэтому, когда ваш класс получает сообщение об отключении, просто сделайте
[[NSNotificationCenter defaultCenter] postNotificationName:@"disableView" object:nil];
, а когда ваши представления загружаются, добавьте их для прослушивания
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(disableView:) name:@"disableView" object:nil];
Затем прекратите прослушивание, когда они не нужны.
Создание подклассов UIViewController и реализация функции отключения, а затем создание подклассов этого класса во всех других контроллерах представления позволит устранить дублирование кода.