在多个视图控制器中为一个观察者使用NSNotificationCenterselect器
我可以在多个视图控制器中使用select器getUpdate:
我注册我的LevelViewController
作为WinViewController
和WinViewController
观察员。 后者2视图控制器都有一个后退button(当按下时,它会弹回到LevelVC
),通知的想法是告诉LevelVC
是否更新集合视图单元格(通过viewWillAppear:
方法)何时后退button被按下。
在viewWillAppear:
,我不想调用两个独立的方法(一个来自GameVC
,另一个来自WinVC
),以获得我的更新,我只是一个可以使用的stream体方法。
这是我打算(在LevelVC
):
- (void)viewDidLoad { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getUpdate:) name:@"getUpdateForCell" object:nil]; }
并纳入
- (void)getUpdate:(NSNotification *)notification { NSDictionary *data = [notification userInfo]; // pop }
两次…一次在GameVC
,另一次在GameVC
中。
这可能吗? 或者我应该只做两个单独的通知?
您可以创build自己的NSDictionary
,并将其作为userInfo
的值传递,以确定您来自哪个UIViewController
,并使用if
语句来适当地处理这种情况。
另外
当后退button出现时,可以使用委托来执行事件,并对先前的UIViewController
执行相应的操作。 我个人更喜欢这种方法。