0

最好的做法是通过什么来传达事件或类似的东西(如成功登录),NSNotificationCenter还是有任何其他可以推荐的控制机制?

4

2 回答 2

2

至于我,我不喜欢使用NSNotificationCenter它,因为它承载了大量的系统和自定义事件。

如果你添加了很多观察者NSNotificationCenter,你不应该忘记删除这些观察者,有时也很难知道调用观察方法的顺序。也NSNotificationCenter不会检查或管理多次添加同一个观察者(当你 addObserver 不在正确的位置时,它有时会成为一个真正的麻烦)。

那么:为什么不创建一些LoginManager包含所有需要的数据并管理所有登录行为的单例呢?它将包含一些数据,例如 :isAuthorithed等。当然,如果您需要实现Observer模式,您的单例类可以以与以下相同的方式实现它NSNotificationCenter

于 2013-09-15T15:40:09.710 回答
1

这取决于事件是什么以及哪些班级可能需要了解它。对于登录/注销通知是一个不错的选择,因为许多不同的班级可能想要响应十分之一事件。这并不意味着您也不能有一个委托/块回调供触发登录的类使用。

通常,许多类可能感兴趣的一般事物的通知和特定事件(以及触发事件的实例)的直接回调。

于 2013-09-15T15:34:57.217 回答