2011-02-03 4 views
0

им пытаются отправить параметр из моего touchesEnded обработчика как так ...Не удается отправить параметр из touchesEnded

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 

    UITouch *touch = [touches anyObject]; 
    CGPoint currentPosition = [touch locationInView:self.view]; 
    CGFloat deltaX = fabsf(gestureStartPoint.x - currentPosition.x); 
    CGFloat deltaY = fabsf(gestureStartPoint.y - currentPosition.y); 
    if (deltaX >= 0.3 && deltaY <= 100) { //horizontal swipe detected 

       [self performSelector:@selector(refreshCover:) 
        withObject:nil afterDelay:0]; 
     if (gestureStartPoint.x < currentPosition.x) { //swipe right 
      [self refreshCover:@"backward"]; 
      NSLog(@"swipe backward"); 
     } else { //swipe left 
      [self refreshCover:@"forward"]; 
      NSLog(@"swipe forward"); 
     }  
    } 
} 

затем в refreshCover, я просто:

- (void)refreshCover:(NSString*)direction { 

    NSLog(@"direction: %@", direction); 
} 

когда пользователь пойло, вызывается refreshCover, но параметр направления не проходит. если я вызываю [self refreshCover: @ "forward"] из любого места, этот параметр передается без проблем.

любые идеи? заранее спасибо.

+0

что такое [self performSelector: ...] предположительно? Распечатывают ли журналы? – jakev

+0

Почему вы вызываете refreshCover: с помощью функции performSelector (с объектом nil) перед if-statement? – Anna

+0

Почему бы просто не использовать ['UISwipeGestureRecognizer'] (http://developer.apple.com/library/ios/#documentation/uikit/reference/UISwipeGestureRecognizer_Class/Reference/Reference.html)? –

ответ

1

Проблема с этим кодом

[self performSelector:@selector(refreshCover:) 
       withObject:nil afterDelay:0]; 

performSelector будет вызывать функцию. Я думаю, что этот код не нужен, так как вы вызываете функцию по отдельности

+0

спасибо, что указал. оставил эту строку из более старого кода ... вау не могу поверить, что я потратил часы, пытаясь понять это и пропустил это! hahaha –

+0

Добро пожаловать. Добро пожаловать в SO. Попробуйте принять ответы, если он решит ваше решение. :) – KingofBliss

Смежные вопросы