我正在覆盖视图的命中测试行为。
override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView?
{
var touches:NSSet? = event?.allTouches()
for touch in touches
{
//look at each touch
}
}
我需要检查触摸阶段是否已开始。但是,我似乎无法遍历所有触摸。
我收到错误
'NSSet?' does not contain a member called 'Generator'
我假设这意味着我不能像迭代数组那样迭代 NSSet?
你知道 Swift 中迭代 NSSet 的正确语法吗?
问题是您正在尝试迭代可选集。您需要先将其解开。
allTouches
返回一个可选的NSSet
,因此必须先将其解开 - 我建议使用可选绑定,如下所示:
if let touches = event?.allTouches() {
for touch in touches
{
//look at each touch
}
}