有人请告诉我如何在NSNotifcationCenter上使用对象属性。我想能够使用它来传递一个整数值给我的选择器方法。如何使用NSNotificationcenter的对象属性
这就是我在UI视图中设置通知侦听器的方式。看到我想要传递一个整数值,我不知道要用什么来替换零。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveEvent:) name:@"myevent" object:nil];
- (void)receiveEvent:(NSNotification *)notification {
// handle event
NSLog(@"got event %@", notification);
}
我从这样的其他类派遣通知。该函数传递一个名为index的变量。这是我想以某种方式引发通知的价值。
-(void) disptachFunction:(int) index
{
int pass= (int)index;
[[NSNotificationCenter defaultCenter] postNotificationName:@"myevent" object:pass];
//[[NSNotificationCenter defaultCenter] postNotificationName:<#(NSString *)aName#> object:<#(id)anObject#>
}
“对象属性不适用于此。”为什么它不合适?无论如何,如果我尝试使用对象属性传递(例如)一个NSString *。会发生什么? – Selvin 2013-04-14 10:57:52
@Selvin用于发送发布通知的对象(如果要使用它,则将其设置为“self”)。如果你把其他东西放在那里会发生什么?我不知道,但如果我不得不猜测,它可能会弄乱封面上发生的事情,比如通知中心跟踪需要发布的内容。为什么存在一个用于传递物体的实际系统时存在风险? – 2013-04-15 19:19:30