【发布时间】:2016-12-04 15:41:59
【问题描述】:
我可以使用点表示法更新类实例的属性值但是它不适用于结构。
示例如下:
struct Resolution {
var width = 0
}
class VideoMode {
var interlaced = false
}
let someResolution = Resolution()
let someVideoMode = VideoMode()
类:
someVideoMode.interlaced // false
someVideoMode.interlaced = true //true
someVideoMode.interlaced // now true
对于结构:
someResolution.width // 0
someResolution.width = 200 // throws an error says : someResolution is constant
问题是:
someResolution 和 someVideoMode 都是常量。 我可以更改类实例的属性值而不会出错,而不是说 someVideoMode 是常量。但是 我无法更改 struct 的属性值。它会抛出错误,说 someResolution 是常量
为什么?
谢谢!
【问题讨论】:
-
检查
valueOfStructInstance定义不是let,因为这段代码编译没有任何错误
标签: swift