Swift有类级静态变量吗?

47

如何在类作用域中声明静态常量?例如:

class let Constant: Double = 3.1415926
// I know that in class we use class modifier instead of static.
1个回答

118

从Swift 1.2开始,Swift支持类的静态类型属性:

class MyClass {
    static let pi = 3.1415926
}
如果您需要在子类中重写的类变量,则需要使用计算类属性:
class MyClass {
    class var pi: Double { return 3.1415926 }
}

class IndianaClass : MyClass {
    override class var pi: Double { return 4 / (5 / 4) }
}

2
全局变量在其他类中也可用吗?(在同一模块中) - tounaobun
1
是的,只要它们没有被标记为“private”,它们就可以在您模块中的任何类中使用。 - Nate Cook
1
从Swift 1.2开始,静态变量也可用 - http://swiftdoc.org/type/Process/。 - marius bardan
@marius 看起来只有在 enums 中才是这样... - Sumner Evans
4
感谢您引用《印第安纳派法案》。 - pr1001
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接