iOS SDK 中的通知中心与委派

Posted

技术标签:

【中文标题】iOS SDK 中的通知中心与委派【英文标题】:Notification Center vs. Delegation in iOS SDK 【发布时间】:2013-10-06 23:55:29 【问题描述】:

为什么 Apple 选择使用委托在 SDK 对象之间进行某些通信,并为其他对象向通知中心发布通知?

特别是,我正在考虑来自 UIWindow 的一组键盘外观通知。

是不是因为通知中心系统意味着多个对象可以使用键盘外观操作作为触发器来更改其状态,而只有一个对象能够通过委托实现进行操作?

【问题讨论】:

KVO vs NSNotification vs protocol/delegates?的可能重复 【参考方案1】:

委托允许您“向后”执行方法(并可选择传递参数)。例如,如果您有一个类引用了另一个类(父类和子类),则子类可以在不引用父类的情况下向父类回火。

另一方面,通知中心会监听并等待,直到听到它正在等待的消息。这允许多个视图控制器中的多个侦听器等待并侦听给定的消息。

关于关系,委托是一对一的关系,而通知中心是一对一的关系。

【讨论】:

以上是关于iOS SDK 中的通知中心与委派的主要内容,如果未能解决你的问题,请参考以下文章

iOS:徽章计数器与通知中心

iOS通知中心

IOS5 中的本地通知 - 如何让它在屏幕上而不是在通知中心弹出?

Azure 通知中心 - 从移动应用注册并通过应用后端发送通知

IOS NSNotification Center 通知中心的使用

当用户从 Cordova 的 iOS 通知中心选择通知时更改状态