Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > iOS > Не работает двойной щелчок мышью в эмуляторе


Автор: torero 4.9.2011, 09:40
Использую пример для UITouch, там для определения точек касания экрана двумя пальцами используются выражения:
           NSSet *allTouches=[event allTouches];
           UITouch *touch1 = [[allTouches allObjects] objectAtIndex:0];
           UITouch *touch2 = [[allTouches allObjects] objectAtIndex:1];
но получаю ошибку-Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSArray objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
т. е. allObjects не имеет индекса 1, хотя в руководстве к Xcode написано: -(NSArray *)allObjects; 
В чём тут ошибка? Работаю в симуляторе.

Автор: Bitter 4.9.2011, 22:42
index 1 beyond bounds [0 .. 0]  означает, что массив имеет один элемент (элемент с индексом 0), а Вы пытаетесь получить доступ к элементу с индексом 1 (то есть ко второму элементу). Он быдет иметь два элемента когда вы коснетесь двумя пальцами по экрану, то есть сделаете мультитач. В симуляторе это можно сделать удерживая клавишу Alt

Автор: torero 6.9.2011, 13:36
Спасибо Bitter. Я, действительно, не знал про Alt. Теперь получилось.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)