Bar*_*not 3 objective-c nsnotifications ios
到目前为止,我一直在使用NSNotificationCenter postNotification:aString object:anyObjectOfInterestForTheReceiver.但最近我在文档中读到该object字段只能通过self.是否有任何可怕的副作用,我不知道应该说服我只self在未来通过,还是可以传递任何对象?谢谢!
您可以传递任何对象作为object通知,但约定是object"正在进行通知的事情"(并且您将其他相关状态放在userInfo字典中).
它之所以主要self是因为通常做通知的对象通常想引用自己.这样,例如,如果您有许多Foo对象,并且其中一个完成了任务并发送了通知,则观察通知的任何人都可以object查看哪个Foo是有问题的.Foo当您遵循此方案时,观察者还可以选择仅观察来自特定的通知.
在发布通知时使用除"自我"之外的内容也是合理的(尽管不太常见) - 假设您"代表"另一个对象发送通知.例如,您可以是完成Bar任务的单例控制器对象,您可以通过对特定Bar对象的引用来发送通知.这比使用单身作为更有意义object,因为那里没有有趣的变化.
同样,这只是一个(有用的)约定.当您编写自己的通知时,您可以定义通知的"合同",即名称,使用的对象类型以及通知object中的内容userInfo.
| 归档时间: |
|
| 查看次数: |
604 次 |
| 最近记录: |