首页 > 解决方案 > 不能在不可变值上使用变异成员:“子视图”是一个只能获取的属性

问题描述

for subview in self.subviews.reverse() //ERROR HERE
{
    let insideSubview = self.convertPoint(point, toView: subview)
    if let sview = subview.overlapHitTest(insideSubview, withEvent: event)
    {
        return sview
    }
}

我在那里得到上述错误标题,我将如何解决这个问题?

标签: swift

解决方案


使用reversed而不是reverse. 前者返回一个新的反转数组。后者试图改变现有的数组,在这种情况下你不想要它。

因此:

for subview in subviews.reversed() { ... }

推荐阅读