[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(refreshEvidment) name:DocumentNotification object:@"DocumentNotification"];
//object:参数是表示会对哪个发送者对象发出的事件作出响应,当注册通知者和发送通知者的object都有值时,二者相同才可接受通知。nil 时表示接受所有发送者的事件。
- (void)refreshEvidment{
[cloudCallingTable.mj_header beginRefreshing];
}
// 发出通知,即使在通知名相同的情况下,在有object!=nil时,亦是无法接受通知的
[[NSNotificationCenter defaultCenter]postNotificationName:DocumentNotification object:@"DocumentNotificatio" userInfo:nil]; // 无法接受通知,object不相同
[[NSNotificationCenter defaultCenter]postNotificationName:DocumentNotification object:nil userInfo:nil];
// a发送通知者为nil,注册通知者object不为nil,无法接受;
// b发送通知者不为nil,注册通知者为nil,可以接受通知
总之,注册通知者有值,则发送通知者也要有值且相同,否则都无法接受通知
最后,你的观察者如果对一些事件没兴趣了,应该从 NotificationCenter 中移除掉:
[[NSNotificationCenter defaultCenter]removeObserver:self name:@"NOTIFICATION_NAME" object:@"DocumentNotification"];//object 与注册时相同
或[[NSNotificationCenterdefaultCenter] removeObserver:self];