Swift子类化,递归和超级强制转换

时间:2015-04-22 17:07:38

标签: swift recursion

我正在尝试定义一个Swift类,它具有一个递归函数,返回类中所有变量的名称。它适用于打印它的变量,但是当我使用它时,我将它用作我的模型的基类,并且我可能有多层继承。我希望该方法返回当前实例上所有变量名的数组,以及任何超类上任何变量的名称,直到我们到达基类Cool类。

class Cool:NSObject {       
    func doStuff() -> [String] {
        var values = [String]()
        let mirrorTypes = reflect(self)
        for i in 0 ..< mirrorTypes.count {
            let (name, type) = mirrorTypes[i]
            if let superCool = super as! Cool while name == "super" {
                values += superCool.doStuff()   
            }
        }
        return values
    }   
}

问题在于:

if let superCool = super as! Cool while name == "super" {

它会导致Expected '.' or '[' after super编译器错误。

0 个答案:

没有答案