我看到了touchesBegan回调使用的一些例子:
for (UITouch *touch in touches) {...}
而其他人使用:
UITouch *touch = [touches anyObject];
我不明白什么时候需要一个for循环而不是。有人能帮助我理解这个吗?
答案 0 :(得分:3)
如果您没有启用多点触控,那么您将获得一次触控。您可以使用touches
从集合[touches anyObject];
(包含单个项目)中检索它。
如果您启用了多点触控,则设置touches
可能包含多个项目,您必须使用循环来访问所有项目。
for (UITouch *touch in touches) {
// Your code here to handle the touch
}
最后,请注意,即使只需轻轻一按,使用循环也适用于所有情况。
答案 1 :(得分:2)
如果您关注多点触控中的每个触摸,请循环搜索触摸 - 即如果您需要知道任何触摸是否到达特定位置:
for (UITouch *touch in touches) {...}
如果您只关心触摸发生或不支持多点触控,那么[touches anyObject]
方法就可以了。
答案 2 :(得分:1)
for循环,用于多点触控!