use*_*143 -1 nsnotificationcenter ios
我正在学习如何使用NSNotificationCenter.我的理解是,对于每个通知,您可以发送单个对象.有没有办法发送包含多个对象的通知,还是我必须为每个对象发布新通知?
你可以在userInfo参数中传递你喜欢的任何信息postNotification:object:userInfo:.
例如,您可以按如下方式调用该方法:
NSDictionary *accountDetails = @{@"accountHolder":@"Mr John Smith",
@"accountNumber":@(01234567),
@"sortCode":@"01-98-34"};
[[NSNotificationCenter defaultCenter] postNotificationName:@"BankDidCreateNewAccount" object:self userInfo:accountDetails];
Run Code Online (Sandbox Code Playgroud)
只是为了更详细地解释:要使用对象发布通知,您可以使用其中任何一个
-postNotificationName:object: 要么 -postNotificationName:object:userInfo:
在object参数中,您可能只提供单个对象.通常,object参数是notificationSender,即您将从self发布通知的任何地方传递.
如果您已使用注册通知-addObserver:selector:name:object:,并且您nil为object参数传递了任何值,那么您将仅接收通知,其中已发布的通知对象(object参数-postNotificationName:object:)与object参数匹配-addObserver:.
如果您通过nil在-addObserver:随后object的价值-postNotification:为这个特殊的观察员被忽略.
哇,听起来很复杂.但它实际上非常简单.object如果用于,则参数必须匹配-addObserver:.
使用userInfo参数为通知观察者提供更多详细信息.
| 归档时间: |
|
| 查看次数: |
2591 次 |
| 最近记录: |