Swift中的NotificationCenter

通知分派机制,可将信息广播到注册的观察者。

资料来源 –苹果文件。

在开始这个话题之前,让我们看看为什么需要这个?

在移动应用程序开发中,有时我们要实现一些要求,例如面向处理程序,将数据从一个类传递到另一类,调用任何其他方法或函数。 以前我写过关于代理模式的文章 ,这是两个类进行交流的最佳方式,但是委派对于广播单打或同时通知方法是无济于事的。

这是有关NotificationCenter的一些优点-

  • 从根本上说,它有助于观察和广播单身人士从一个班级到多个班级。
  • 将单身人士从一个班级发布到多个班级。
  • 接收来自多个班级的单身人士。

让我们看看如何使用它–

编写您的 NotificationCenter 进行观察:–

接收器📡

  NotificationCenter .default 
addObserver (自我,
选择器 :#selector( loginSuccess ),
名称NSNotification .Name “ com.user.login.success” 对象 :无

这是接收的通知注册过程。 基于密钥, NotificationCenter可以观察。

在注册NotificationCenter进行观察的过程中–

NotificationCenter.default这是通知变量,如果您有更多通知,则可以在您的类中全局创建它。

addObserver(self, — —这是我们要进行观察者通知的类。

selector: #selector(loginSuccess) —这是方法名称,只要通知将收到此方法调用即可。

name: NSNotification.Name(“com.user.login.success”) —这是通知密钥🔑,对于任何新的通知注册方法而言,它应该是唯一的。 对于调用相同的方法,它应该是相同的。 该键🔑只能调用与我们注册为键🔑并锁定🔐相同的方法。

object: nil) —在对象内部,您可以传递任何对象或任何变量值( Bool, String, Dictionary, Array, Int )。 我将就这个主题向您解释。 当前,我们设置nil值是因为在此过程中我们将不传递任何值。

如何为通知中心过帐数据?

在此过程中,我们将在NotificationCenter的帮助下转到上述方法。 这就像广播公司。

广播(发布或发送)🚀

这将从不需要相同类的任何地方调用通知方法。 它将基于密钥识别观察者。 您也可以通过此帖子通知传递数据。

  NotificationCenter .default 
帖子 (名称: NSNotification .Name(“ com.user.login.success”),
对象 :无)