小编Har*_* G.的帖子

为什么类中不支持类存储属性?

基本上,Swift不允许我这样做 -

//类中不支持的类存储属性是指'静态'.

class var hello = "hello"
Run Code Online (Sandbox Code Playgroud)

不过这很好 -

static var hi = "hi"
Run Code Online (Sandbox Code Playgroud)

我知道Swift中Class和Static之间的区别在于Class变量不能存储存储的属性,而Static变量可以.但是,Class和Static变量之间的根本区别在于,静态变量不能在子类中重写,而类变量可以.这是我希望保留的功能.

我知道对这个问题的一个简单的解决方法是使用像这样的hacky修复程序将其作为计算属性 -

class var Greeting : String {
    return "Greeting"
}
Run Code Online (Sandbox Code Playgroud)

这确实解决了这个问题,我希望它也可以帮助一些人在线.但是,我想知道是否有人知道Swift为什么会这样,并且不允许在类级变量中存储属性.

swift

13
推荐指数
1
解决办法
1734
查看次数

标签 统计

swift ×1