iOS中用于消息传递,NSNotification或委派的最佳方法是什么?

时间:2016-10-04 11:18:44

标签: ios objective-c iphone design-patterns

我是iOS新手。我已经了解了这两种消息传递方法,但我无法在它们之间做出选择。

2 个答案:

答案 0 :(得分:0)

从概念上讲,委托是一个帮助者或一个对象,它可以为其他对象完成其自身无法完成的部分工作。通常会涉及一个协议,并且具有对委托的引用的对象期望它以预定义的方式运行,或者至少以某种特定于调用类需求的方式运行。

示例:为UITableViewDelegate定义的所有方法都特定于表活动。

通知更多是关于状态变化。发送通知的对象不需要帮助来完成其工作,它只是让其他对象知道他们想要做出反应的变化。如果没有其他事情关心变化,那就没关系。

示例:接收UIApplicationDidBecomeActiveNotification的对象可以执行当时开发人员需要的任何操作,而不仅仅是与UIApplication相关的内容。

答案 1 :(得分:0)

委托模式主要用于委托,因为Object知道实现了哪个类委托方法。 Delegate Object包含您要在其中执行任务的该类的对象的引用。

在通知模式中,只是在整个类上广播通知,每个类都在搜索观察者方法实现。因此,与Delegate模式相比,搜索观察者方法需要更多时间。