关于NSNotificationCenter接收不到的问题

因为在做一个即时通讯APP,用到了语音通话等,在之前NSNotificationCenter一直可以接收到消息,升级xcode11.1的时候,应该是苹果对NSNotificationCenter进行了安全措施,之前是放在了viewDidLoad里面 后来查找资料正确的姿势应该是

 

-(void)viewWillAppear:(BOOL)animated {

[super viewWillAppear:animated];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(test) name:@"test" object:nil]; }

-(void)viewWillDisappear:(BOOL)animated {

[super viewWillDisappear:animated];

[[NSNotificationCenter defaultCenter] removeObserver:self name:@"test" object:nil]; }

还有就是项目中可能还有[[NSNotificationCenter defaultCenter] removeObserver:self]; 可能还没收到通知之前自己移除了,所以要细心哦

解决了我的问题,但是大多数人应该和我一样,放在了viewDidLoad里面,移除用的dealloc里,如果这个方法解决不了,就用上述观点。

猜你喜欢

转载自my.oschina.net/u/2603560/blog/1559808
今日推荐