gpt4 book ai didi

swift - 结构实例属性值

转载 作者:行者123 更新时间:2023-11-30 12:51:07 29 4
gpt4 key购买 nike

我可以使用点表示法更新类实例的属性值,但是它不适用于结构。

这里是示例:

struct Resolution {
var width = 0

}

class VideoMode {
var interlaced = false
}


let someResolution = Resolution()
let someVideoMode = VideoMode()

对于类(class):

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 是常量

为什么?

谢谢!

最佳答案

struct 是值类型,而 class 是引用。

虽然您可以设置常量引用类型的属性,但您不能更改引用本身。

let someVideoMode = VideoMode()
someVideoMode = VideoMode()

会导致错误。

您可以在 the documentation you actually got this sample from 中找到详细说明.

关于swift - 结构实例属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40960342/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com