相关疑难解决方法(0)

Swift用泛型找到给定类的超级视图

我想我正在与仿制药斗争.我想创建简单的UIView扩展,以递归方式查找函数param中传递的类的超级视图.我希望函数返回可选的包含nil的对象,或者作为提供的类的实例可见的对象.

extension UIView {
    func superviewOfClass<T>(ofClass: T.Type) -> T? {
        var currentView: UIView? = self

        while currentView != nil {
            if currentView is T {
                break
            } else {
                currentView = currentView?.superview
            }
        }

        return currentView as? T
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢.

generics recursion parent superview swift

10
推荐指数
1
解决办法
1721
查看次数

标签 统计

generics ×1

parent ×1

recursion ×1

superview ×1

swift ×1