Ios 在NSNotification Center中为观察员存储信息

Ios 在NSNotification Center中为观察员存储信息,ios,swift,nsnotificationcenter,Ios,Swift,Nsnotificationcenter,我正在尝试向通知中心添加一个观察员,它将执行一个方法。该方法应该从发送的通知中提取一些数据。 将要传递的信息位于[字符串]中。发件人不知道此数据,因此在发布到NSNotificationCenter时无法将其添加到userInfo字段。到目前为止,我的代码如下所示: 将观察者与预期数据一起添加 global.notificationCenter.addObserver(self, selector: "test", name: "gotClientToken", object: [type, i

我正在尝试向通知中心添加一个观察员,它将执行一个方法。该方法应该从发送的通知中提取一些数据。 将要传递的信息位于[字符串]中。发件人不知道此数据,因此在发布到NSNotificationCenter时无法将其添加到userInfo字段。到目前为止,我的代码如下所示:

将观察者与预期数据一起添加

global.notificationCenter.addObserver(self, selector: "test", name: "gotClientToken", object: [type, id, region])
从一个单独的类发布通知,不需要访问所需的数据

global.notificationCenter.postNotificationName("gotUserToken", object: nil)
从中提取与通知一起发送的数据的变量将发生更改,因此我希望将其附加到通知中,而不是简单地保存在变量中以供以后访问


也许有完全不同的方法?我不确定…

它必须保存在某个地方。为什么不把它保存在唯一需要它的地方,接收器?把它存到字典里。将通知名称用作字典的键。添加观察者的方法和发布通知的方法都在不同的数据集中多次使用,但通知名称保持不变。。。但是我要尝试一下你的字典想法,做一两个改动——谢谢:问题是,发送者不知道它应该是一个令人敬畏的字符串,并且无法访问observer,因为到那时,数据已经改变了。据我所知,在发布通知时,数据应该通过userInfo而不是Object发送。对象应该是对发件人对象的引用。你说得对。我将删除该评论。