ios rac 通知监听

图片描述

大大们,使用RAC监听通知,信号会叠加,然后我使用takeUntil:self.rac_willDeallocSignal],为什么还是无效啊?事件还是会被叠加信号多次触发

阅读 7.4k
2 个回答

应该是notificationcenter多次postNotification导致的.
试试map或者throttle

map

[[[[[NSNotificationCenter defaultCenter] rac_addObserverForName:@"noti" object:nil] map:^id(NSNotification *value) {
    return value.object;
}] distinctUntilChanged] subscribeNext:^(id x) {
    NSLog(@"%@",x);
}];

throttle

[[[[NSNotificationCenter defaultCenter] rac_addObserverForName:@"noti" object:nil] throttle:1] subscribeNext:^(id x) {
    NSLog(@"%@",x);
}];

有效!非常感谢!???

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进