有人可以就创建多对一关系消息传递系统的最佳或实用方法向我提供建议。我是 Objective-C 的新手,所以如果这是我作为 Obj-C 开发人员“应该知道”的东西,请随时在教程/文档上为我指明正确的方向。
目前,我正在开发一个 Brick Breaker 游戏,以学习并在 Obj-C/Cocos2D/Box2D 上做得更好。我正在尝试在我的 BrickMgr 类中创建一个内部消息传递系统,该类包含砖块(NSMutableArray)的实例。当砖被破坏时,我想通知我的父母(BrickMgr)砖的得分值,以便它可以决定如何使用它或将它传达给平视显示器(HUD)。
从我所做的所有谷歌搜索/阅读来看,似乎 KVO 或 NSNotificationCenter 将是要走的路,但我读过的所有示例都是一对多的关系。我想知道我是否可以做相反的事情并以多对一关系的形式使用它。
例如:在我的 Brick 类的每个实例中,当砖被破坏时,我可以做
//Brick class, when brick.state = BRICK_DESTROYED
[NSNotificationCenter defaultCenter] postNotificationName:BB_SCORE_CHANGED_NOTIFICATION object:self userInfo:nil];
并在我的 BrickManager 类中注册我的观察者以收听 postNotification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onScoreChanged:) name:BB_SCORE_CHANGED_NOTIFICATION object:nil];
请指教。