您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Swift:以递归方式遍历所有子视图以查找特定的类并追加到数组

Swift:以递归方式遍历所有子视图以查找特定的类并追加到数组

您的主要问题是,在调用getSubviewsOfView(subview as! UIView)(在函数内递归地),您对结果不做任何事情。

您也可以删除count == 0检查,因为在这种情况下,for…in循环将被跳过。你也有很多不必要的演员

假设您希望获得一组平面CheckCircle实例,那么我认为对代码的这种修改应该有效:

func getSubviewsOfView(v:UIView) -> [CheckCircle] {
    var circleArray = [CheckCircle]()

    for subview in v.subviews as! [UIView] {
        circleArray += getSubviewsOfView(subview)

        if subview is CheckCircle {
            circleArray.append(subview as! CheckCircle)
        }
    }

    return circleArray
}
Swift 2022/1/1 18:17:44 有626人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶