访问NSSet中的所有值

时间:2014-12-28 13:39:37

标签: ios objective-c nsdictionary touchesbegan nsset

我正在进一步研究UIView的方法'touchesBegan',并看到这个方法带来了两个参数'(NSSet *) touches''(UIEvent *) event'

关于参数'(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}
)}

他显示'框架''窗口''以前在视图中的位置''点按次数' ...现在我如何单独访问所有这些值,或者将它放在NSDictionary中?

1 个答案:

答案 0 :(得分:2)

您已经有一个UITouch对象的NSSet,并且您已在UITouch对象上记录了这些属性。所以在集合中有一个UITouch对象,或许你可以用这样的东西快速枚举它们:

for (UITouch *touchObject in touches){


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

}

所以,如果你愿意的话,你可以很容易地重新组织这些数据,但我很难理解你为什么要这样做,因为UIKit看起来非常有条理。祝你好运