2014-12-28 3 views
-3

Я изучал метод 'touchesBegan' UIView и увидел, что этот метод приносит с собой два параметра, которые являются '(NSSet *) touches' и '(UIEvent *) event'.Доступ ко всем значениям внутри NSSet

Что касается параметра '(NSSet *) touches', я решил показать, что он хранит на консоли и увидел, что она показывает следующие значения:

<UITouch: 0x7ae71890> phase: Began tap count: 1 window: <UIWindow: 0x7ae71ca0; frame = (0 0; 320 480); gestureRecognizers = <NSArray: 0x7ae72820>; layer = <UIWindowLayer: 0x7ae71e90>> view: <UIView: 0x7cb89bd0; frame = (0 0; 320 480); autoresize = W+H; layer = <CALayer: 0x7cb70680>> location in window: {82.5, 263} previous location in window: {82.5, 263} location in view: {82.5, 263} previous location in view: {82.5, 263} 
)} 

Он показывает «кадр», «окно», 'previous location in view', 'tap count' ... теперь как я могу получить доступ ко всем этим значениям отдельно или, возможно, помещать его в NSDictionary?

+1

Вы потрудились посмотреть документацию для NSSet? –

+0

Документация @HotLicks для новичков очень трудно понять и не имеет большого количества примеров, потому что документация не является «Как это сделать», и это сложно для начинающих. – user3781174

+0

Кодирование в Objective-C не должно быть «новичком». –

ответ

2

У вас уже есть NSSet объектов UITouch, и вы запустили свойства объекта UITouch. Так кастрированный баран есть один объект UITouch в наборе или много вы можете быстро перечислить через них с чем-то вроде этого:

for (UITouch *touchObject in touches){ 


UIWindow *theWindow = touchObject.window; 
NSArray *recognizers = touchObject.gestureRecognizers; 
// etc... 

} 

Так что вы идете, вы можете легко реорганизовать данные, если вы хотите, но это трудно чтобы увидеть, почему вы, возможно, захотите сделать это, поскольку он выглядит довольно хорошо организованным UIKit так же, как и он. Удачи

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