2014-10-28 6 views
1

UITapGestureRecognizer заставляет приложение сбой при выполнении салфетки. Swipes сделаны на очень короткие расстояния, не вызывают никаких проблем, но те сделали на большее расстояние, дают ошибку:UITapGestureRecognizer заставляет приложение сбой

-[UITapRecognizer name]: unrecognized selector sent to instance 0x17ee27c0 

где 0x17ee27c0 это случайное значение.

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITapRecognizer name]: unrecognized selector sent to instance 0x17ee27c0' 
*** First throw call stack: 
(0x2cb7dc1f 0x3a328c8b 0x2cb83039 0x2cb80f57 0x2cab2df8 0x2feee1c1 0x2d7d01cf 0x3024822d 0x300671ad 0x30066bcd 0x3003d3dd 0x302b0c29 0x3003be39 0x2cb44377 0x2cb43787 0x2cb41ded 0x2ca90211 0x2ca90023 0x33e890a9 0x3009c1d1 0xdca87 0x3a8a8aaf) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

UITapRecognizer * (0x17ee27c0) от tapGestureRecognizer._imp

Это происходит на нескольких устройствах под управлением IOS 8.1. Источник составлен на Xcode 6.

Вот как я объявляю UITapGestureRecognizer:

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)]; 
[myView addGestureRecognizer:tapGestureRecognizer];  

А вот метод:

- (void)viewTapped:(UITapGestureRecognizer *)sender { } 

UITapGestureRecognizer помещают на SKView;

Вот трассировки стека: http://imageshack.com/a/img903/3622/X9QFX0.png

+0

Это было так, как было изначально, но я добавляю его в попытке удалить ошибку (я попытался внедрить gestureRecognizer: shouldReceiveTouch:), но это не сработало. –

+0

Где трассировка стека исключений? –

+0

Вот трассировка стека: http://imageshack.com/a/img674/6647/k76Dpi.png –

ответ

0

вы пытаетесь запустить селектор называется name на UITapGestureRecognizer например, но UITapGestureRecognizer не имеет такой селектор, и поэтому ваша программа рушится. Проверьте, где вы звоните name (возможно, внутри viewTapped) и убедитесь, что вы применяете его на нужном объекте.

+1

Или это зомби-объект. –

+0

Я подумал об этом, но в моем проекте дыр нет ни одного вызова метода. И viewTapped даже не вызван. –

+0

Я также искал зомби, но это было напрасно. –

1

У меня был один и тот же вопрос в одном из моих SpriteKit игр, она возникает, когда вы используете жесты во время перехода между сценами, я решил его, установив gestureRecognizer.enable свойство (documentation) в NO до перехода.

0

Вы уверены, что ViewTapped: ожидает аргумент.