我在我的应用程序中使用JASidePanels和故事板,并使用NSNotificationCenter
问题在于:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(msgResponder:)
name:@"leftPanelMsg" object:nil];
当viewDidLoad
将要显示storyboard
时,CenterViewController
内部被调用 1>,第二个是当我显示左侧面板时LeftViewController
,我正在为两者使用相同的类,有没有办法阻止它?
我已尝试过波纹管代码,但无效,
[[NSNotificationCenter defaultCenter] removeObserver:self
name:@"leftPanelMsg"
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(msgResponder:)
name:@"leftPanelMsg"
object:nil];
我还使用bool
执行代码一次,当代码第一次执行时mustRun
bool转到NO
(leftPanelMsg
),但是在再次调用leftPanelMsg
时的下一个通知mustRun
将其值恢复为true,不知道为什么
答案 0 :(得分:1)
看起来该库提供了一个回答sidePanelController
的视图控制器扩展。所以你的vc可以直接询问......
#import "UIViewController+JASidePanel.h"
// ...
if (self.sidePanelController.centerPanel == self) {
// observe notification
}
或者您可以问:
if (self.sidePanelController.leftPanel == self) // ... and so on