为什么Apple选择使用委托在SDK对象之间进行某些通信,并向其他人发送通知到Notification Center?
特别是,我正在考虑来自UIWindow的一组键盘外观通知。
是否因为Notification Center系统意味着多个对象可以使用键盘外观操作作为触发器来更改其状态,而只有一个对象可以使用委托实现进行操作?
答案 0 :(得分:6)
委托允许您从一个类执行方法(并传递参数)回到另一个类。这允许即使未导入该类也会触发方法。委派允许多个视图控制器(或其他类)在单个视图控制器中重新激活方法。
另一方面,通知中心会监听并等待,直到它听到它正在等待的消息。这允许多个视图控制器中的多个侦听器等待并侦听给定的消息。
你可以说委托是1 /多对1关系,而通知中心是1 /多对1 /多关系。