2015-07-20 54 views
0

我從一個類發送通知到另一個調用使用我可以傳遞手勢識別器的通知

[[NSNotificationCenter defaultCenter] 
    postNotification:[ 
         NSNotification notificationWithName:@"gestureIsOn" 
         object: self 
         ] 
    ]; 

WhatI想在這裏實現的是收到另一大類通知的方法,但也傳遞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 

} 

儘量選用雙::我的觀察者通知,但這造成Terminating app due to uncaught exception 'NSInvalidArgumentException'錯誤

在此先感謝大家花時間閱讀本文。

+0

你可以粘貼此全文登錄? –

+0

我不能,因爲我試圖保持簡單的問題,並改變我的類/變量名稱,以匹配 – cmario

回答

1

你可以像這樣把它:

[[NSNotificationCenter defaultCenter] postNotificationName:@"gestureIsOn" 
                object:self 
                userInfo:@{@"recognizer":recognizer}]; 

而在接收端:

UIGestureRecognizer *recognizer = notification.userInfo[@"recognizer"]; 
+0

這個問題,實際上非常感謝你 – cmario

+0

不客氣。 –