Недостаток нескольких экземпляров NSNotifcationCenter в прикосновении какао
Я смотрю на реализацию шаблона проектирования наблюдателя в Touch Cocoa и обнаружил, что у Apple есть классный объект NSNotificationCenter, который, похоже, будет выполнять именно то, что я ищу. Однако в большинстве обучающих программ, которые я видел для этого, есть только один или два экземпляра NSNotificationCenter.
Из-за отсутствия руководств, использующих эту практику, я задаюсь вопросом: есть ли какой-либо недостаток в том, чтобы иметь экземпляр NSNotificationCenter на каждой модели, которую я хочу наблюдать? (в моем конкретном случае это будет около 16 моделей). Или есть способ сообщить виду, чтобы он наблюдал только конкретную модель, используя один глобальный экземпляр NSNotificationCenter?
2 ответа
Вы можете использовать параметр 'object' методов NSNotificationCenter, чтобы получить этот эффект, не выделяя по одному на объект.
Когда вы используете центр уведомлений, вы должны использовать центр уведомлений по умолчанию. Я думаю, что это выглядит так
[NSNotificationCenter defaultCenter]