我是iOS新手。我已经了解了这两种消息传递方法,但我无法在它们之间做出选择。
答案 0 :(得分:0)
从概念上讲,委托是一个帮助者或一个对象,它可以为其他对象完成其自身无法完成的部分工作。通常会涉及一个协议,并且具有对委托的引用的对象期望它以预定义的方式运行,或者至少以某种特定于调用类需求的方式运行。
示例:为UITableViewDelegate
定义的所有方法都特定于表活动。
通知更多是关于状态变化。发送通知的对象不需要帮助来完成其工作,它只是让其他对象知道他们想要做出反应的变化。如果没有其他事情关心变化,那就没关系。
示例:接收UIApplicationDidBecomeActiveNotification
的对象可以执行当时开发人员需要的任何操作,而不仅仅是与UIApplication
相关的内容。
答案 1 :(得分:0)
委托模式主要用于委托,因为Object知道实现了哪个类委托方法。 Delegate Object包含您要在其中执行任务的该类的对象的引用。
在通知模式中,只是在整个类上广播通知,每个类都在搜索观察者方法实现。因此,与Delegate模式相比,搜索观察者方法需要更多时间。