“的NSSet?不包含名为'Generator'的成员

时间:2015-01-13 20:03:16

标签: ios swift nsset

我正在覆盖视图的命中测试行为。

 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?

2 个答案:

答案 0 :(得分:3)

问题是您是否正在尝试迭代可选集。你需要先解开它。

答案 1 :(得分:2)

allTouches返回一个可选的NSSet,因此必须先将其解包 - 我建议使用可选绑定,如下所示:

    if let touches = event?.allTouches() {
        for touch in touches
        {
            //look at each touch
        }
    }