Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 发送到通知中心意味着什么_Ios_Notificationcenter - Fatal编程技术网

Ios 发送到通知中心意味着什么

Ios 发送到通知中心意味着什么,ios,notificationcenter,Ios,Notificationcenter,发布到通知中心意味着什么? 使用NotificationCenter发布和添加观察者之间有什么区别。只需通知中心将信息发布到注册观察者 < P> NSNotificationCenter :NSnPosiCICTICE中心可被视为用于在应用程序内传递信息的接口。不同于推送或本地通知,您在通知用户您希望他们接收到的任何内容,NSNotificationCenter允许我们根据应用程序中发生的操作在类和/或结构之间发送和接收信息。NotificationCenter可以简单地被认为是一家广播公

发布到通知中心意味着什么?
使用NotificationCenter发布和添加观察者之间有什么区别。

只需通知中心将信息发布到注册观察者


< P> <强> NSNotificationCenter :NSnPosiCICTICE中心可被视为用于在应用程序内传递信息的接口。不同于推送或本地通知,您在通知用户您希望他们接收到的任何内容,NSNotificationCenter允许我们根据应用程序中发生的操作在类和/或结构之间发送和接收信息。NotificationCenter可以简单地被认为是一家广播公司,我们可以调到一些电台/频道来接收变化(如果有的话)

NotificationCenter.default是观察和发布所有通知的位置。每个通知都有一个唯一的标识符,可用于验证广播端和接收端的频道

addObserver():对象向通知中心注册,以使用addObserver(uu2;:选择器:名称:对象:)或addObserver(forName:object:queue:using:)方法接收通知。当对象将自身添加为观察者时,它指定应该接收哪些通知。因此,一个对象可能会多次调用此方法,以便将自己注册为多个不同通知的观察者。实现addobserver()方法的类是Receiver

示例:添加观察员(这是接收端的will)

post():创建具有给定名称和发件人的通知,并将其发布到通知中心。创建包并通过通道发送。实现post()方法的类是广播器

示例:发布观察员(这是广播端的威尔)

请注意,“NotificationIdentifier”是标识特定通道的唯一名称。选择器是在收到通知时需要执行的方法/操作。您还可以在“对象”参数内传递通知中心内的数据

关于您的问题“使用NotificationCenter发布和添加观察员有什么区别。”

答案是它们都是正面对正面的,一个(add-observer())用于发送,另一个(post())用于接收。因此,如果您发布通知,则必须同时实现一个观察者。简而言之,如果您扔东西,需要有人抓住,如果您说话,则需要有人倾听

NotificationCenter.default.addObserver(self, selector: #selector(self.methodOfReceivedNotification(notification:)), name: Notification.Name("NotificationIdentifier"), object: nil)

@objc func methodOfReceivedNotification(notification: Notification){}
NotificationCenter.default.post(name: Notification.Name("NotificationIdentifier"), object: nil)