无法创建同名的实例变量和类变量

时间:2014-07-24 14:25:50

标签: swift

以下代码无法编译:

class object {
    class var myVar: String! {
        return "from class"
    }

    var myVar: String! {
        return "from instance"
    }
}

错误:

  

'myVar'的重新声明无效

这对Swift来说是不可能的,还是我做错了?这在Objective-C中是完全合法的(作为函数而不是变量)。

1 个答案:

答案 0 :(得分:3)

目前,你不能。如果您真的想这样做,可以向Apple提交Bug Report

我建议不要这样做。这是非常糟糕的做法,仅仅因为有两个不同的变量命名完全相同的东西,唯一的区别是它们如何被访问,是一个可怕的代码气味。这令人困惑。

如果您愿意,请提交雷达,然后更改您的变量名称。我怀疑苹果会“解决”这个问题。