Было бы легко иметь категорию в NSNotificationCenter, которая увеличивает некоторое внутреннее целое число при добавлении наблюдателя уведомлений (и, следовательно, уменьшает его при его удалении), но вы должны спросить себя: сколько это стоит?
Если вы считаете, что это какое-то произвольное целое число (скажем, например, 30), то что происходит, когда вы проверяете его на устройстве с большим количеством ограничений памяти и процессора, чем тот, который у вас есть сейчас? Что произойдет, если вы проверите его на устройстве, которое может легко обрабатывать 30 наблюдателей и уведомлений, плавающих вокруг (это будет полная трата)? Хотя можно было бы кодировать общие правила, было бы невозможно оценить влияние на уведомления о влиянии на время отклика приложения в каждом случае.
Другая возможность заключается в том, что фоновый процесс запрашивает стек уведомлений (или как-то просто измеряет его внутренне, как указано выше), когда количество наблюдателей привносит определенные системные функции в обход. Конечно, игнорируя тот факт, что это слишком много работы, вы будете разрабатывать подсистему, которая, вероятно, использует столько памяти и крадет столько, сколько бы вы ни старались с ней справиться!
TL; DR Есть так много других шаблонов и структур, которые вы могли бы использовать вместо уведомлений, так почему же вы тот, кто обслуживает потребности NSNotification?
ИМХО такой подход кажется подозрительным. Я не видел никаких доказательств того, что использование NSNotificationCenter - это более высокие накладные расходы, чем отправка сообщений непосредственно между объектами. Любые проблемы с производительностью будут специфичны для обработки уведомлений (по сравнению с отправкой). Если у вас есть большое количество объектов, наблюдающих уведомление и/или выполняющих задачи блокировки потоков, которые, очевидно, повлияют на производительность приложения. Вот где я бы сосредоточил время и энергию. @ Замечание JustSid является произвольным и умозрительным. – XJones