Ios 访问NSSet中的所有值

Ios 访问NSSet中的所有值,ios,objective-c,nsdictionary,touchesbegan,nsset,Ios,Objective C,Nsdictionary,Touchesbegan,Nsset,我正在进一步研究UIView的“touchesBegind”方法,发现该方法带来了两个参数,即“NSSet*touchs”和“UIEvent*event” 关于参数“NSSet*touchs”,我决定显示它在控制台上存储的内容,并看到它显示以下值: <UITouch: 0x7ae71890> phase: Began tap count: 1 window: <UIWindow: 0x7ae71ca0; frame = (0 0; 320 480); gestureRecogn

我正在进一步研究UIView的“touchesBegind”方法,发现该方法带来了两个参数,即“NSSet*touchs”和“UIEvent*event”

关于参数“NSSet*touchs”,我决定显示它在控制台上存储的内容,并看到它显示以下值:

<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中?

您已经有一组UITouch对象,并且已经在UITouch对象上记录了属性。因此,无论集合中有一个或多个UITouch对象,您都可以通过以下方式快速枚举它们:

for (UITouch *touchObject in touches){


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

}

因此,如果您愿意,您可以轻松地重新组织这些数据,但我很难理解您为什么希望这样做,因为UIKit似乎已经很好地组织了这些数据。祝你好运

你有没有费心看一下NSSet的文档?@HotLicks初学者文档很难理解,也没有太多的例子,因为文档不是“如何做”,这对初学者来说很难。用Objective-C编写代码的人不应该是初学者。