我正在从一个班级向另一个班级发送通知,以便使用
调用方法[[NSNotificationCenter defaultCenter]
postNotification:[
NSNotification notificationWithName:@"gestureIsOn"
object: self
]
];
我想在这里实现的是在另一个类中接收通知,但也传递UIGestureRecognizer以查找它是哪个视图,因为接收通知的类包含4个不同的视图。我已经尝试过这样的通知接收:
[[NSNotificationCenter defaultCenter ]addObserver:self
selector:@selector(handleGestures::) name:@"gestureIsOn"
object:nil];
并调用方法handleGestures
:
-(void)handleGestures:(UIGestureRecognizer *)sender :(NSNotification *)notification{
if(sender.view == view1)
do something
}
尝试在我的观察者通知中使用double ::但这会导致错误Terminating app due to uncaught exception 'NSInvalidArgumentException'
提前感谢所有花时间阅读本文的人。
答案 0 :(得分:1)
您可以像这样发送:
[[NSNotificationCenter defaultCenter] postNotificationName:@"gestureIsOn"
object:self
userInfo:@{@"recognizer":recognizer}];
在接收方:
UIGestureRecognizer *recognizer = notification.userInfo[@"recognizer"];