Упрощение ...
В здании есть множество жилых объектов. Каждая квартира имеет одного действующего арендатора. Эти арендаторы имеют тип лица. Обратите внимание, что currentTenant не имеет ссылки на квартиру, поэтому не может отправить информацию обратно по цепочке.
Когда у арендатора возникает проблема с сантехникой, он поднимает NSNotification:
[nc postNotificationName:@"PlumbingIssue" object:self];
Каждая квартира получает уведомления ТОЛЬКО ОТ своего собственного текущего арендатора (это настраивается, когда квартира построена, до того, как появится текущий арендатор):
[nc addObserver:self selector:@selector(alertBuildingManager:) name:@"PlumbingIssue" object:[self currentTenant];
Когда квартира получает уведомление от своего текущего currentTenant, она отправляет свое собственное уведомление "PlumberRequired" вместе с номером квартиры и currentTenant в NSDictionary.
Квартира следит за этими уведомлениями, которые она будет получать из любой квартиры (или другого объекта):
[nc addObserver:self selector:@selector(callPlumber) name:@"PlumberRequired" object:nil];
Есть ли что-то, что я мог бы сделать здесь в корне неправильно? То, что происходит, - то, что квартира получает уведомления от любого и всех текущих арендаторов, а не только его собственное.
Извините, что фактический код слишком громоздкий для публикации. Было просто интересно, есть ли пробел в моем понимании относительно наблюдения уведомлений от конкретного отправителя?