简化…
一个建筑物有一系列公寓对象。每个公寓都有一个当前租户。这些房客都是典型的人。请注意,当前租户没有对公寓的引用,因此无法向上发送信息链。
当租户出现管道问题时,他会发出一个nsnotification:
[nc postNotificationName:@"PlumbingIssue" object:self];
每个公寓只观察来自其当前租户的通知(这是在公寓建立时,在当前租户存在之前设置的):
[nc addObserver:self selector:@selector(alertBuildingManager:) name:@"PlumbingIssue" object:[self currentTenant];
当公寓收到自己当前租户的通知时,它会发送自己的通知“PlumberRequired”,以及NSDictionary中的公寓编号和当前租户。
公寓观察这些通知,它将从任何公寓(或其他对象)接收这些通知:
[nc addObserver:self selector:@selector(callPlumber) name:@"PlumberRequired" object:nil];
这里有什么我可能根本就弄错的地方吗?现在的情况是,这套公寓正在接收来自任何和所有现有租户的通知,而不是它自己的通知。
很抱歉,实际的代码太难发布了。只是想知道我对观察某个特定发件人的通知的理解是否存在差距?