背景情况
* 在A控制器ViewController push 到 B控制器中
* B控制器的 ViewDidLoad 方法中 添加了一个通知 并实现了这个通知的方法
问题出现
在第一进入 B 中, 通知方法 被调用一次
在push返回后, 第二次进入 B 中, 通知方法 被调用二次,
在push返回后, 第三次进入 B 中, 通知方法 被调用三次,
从而导致问题出现
解决办法
1.在 通知的方法被调用以后 ,在后面添加
[[NSNotificationCenter defaultCenter] removeObserver:<#(nonnull id)#> name:<#(nullable NSString *)#> object:<#(nullable id)#>];
然而却并没有效果
2.在 控制器已经消失时 添加删除通知中心的方法
- (void)viewDidDisappear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}