【发布时间】:2015-07-15 14:52:32
【问题描述】:
我是一名 Swift 菜鸟,在阅读“The Swift Programming Language”参考书(关于语言指南 > 属性 > 类型属性)中的这一段时发现自己很困惑:
“对于值类型(即结构和枚举),您可以定义存储和计算类型属性。对于类,您只能定义计算类型属性。”
摘自:Apple Inc.“Swift 编程语言”。电子书。 https://itun.es/br/jEUH0.l
但在这之后的几页,可以找到以下代码sn-p:
...
class SomeClass {
static var storedTypeProperty = "Some value."
static var computedTypeProperty: Int {
// return an Int value here
}
class var overrideableComputedTypeProperty: Int {
// return an Int value here
}
}
...
在类上下文中明确定义了存储类型属性,这显然否定了前面所说的内容。
那么,这是文档错误还是我遗漏了什么?
编辑 1
我不觉得这是来自 this question 的重复。我不是在问为什么没有实现这个功能,因为显然它当前已经实现(因为编译器不会将它识别为错误)。我要问的是文档是否过时或我的解释不正确。
编辑 2
此问题已解决 here。显然文档已经过时了。此功能是在 Swift 1.2 上添加的
【问题讨论】:
-
我认为苹果没有更新这本书。如果我错了,请纠正我。我是古玩,我自己检查了一下。这段代码工作得很好:
class Test { static var someInt = 0 } print(Test.someInt) -
我不确定我是否正确理解了您的问题。这就是你要找的stackoverflow.com/questions/30243013/… 吗?
-
@GabrielHuff:您解释了为什么您认为它不是 Why no stored type properties for classes in swift? 的副本。但除非我误解了你的问题(在最后一次编辑之后),否则它是 Stored type properties for classes in Swift 的副本。
-
好吧,你是对的。第二个问题解决了同样的问题。所以显然文档已经过时了。
标签: swift