gpt4 book ai didi

Swift memberwise initializer - 对除一个属性之外的所有属性使用默认属性

转载 作者:行者123 更新时间:2023-11-28 11:41:21 29 4
gpt4 key购买 nike

我是 Swift 的新手,正在学习来龙去脉,如果下面的问题可能很明显,请原谅。

是否可以使用成员初始化器仅更改实例的一个属性,而将其他所有属性保持为默认值?例如,如果我有以下结构:

struct Size {
var width = 0.0, height = 0.0
}

是否有一种优雅的方法可以只更改一个属性,例如

var size = Size(width: 5.0)

当我尝试上述操作时,出现编译器错误。要解决这个问题,我可以这样做:

var size = Size(width: 5.0, height: 0.0) 

但是重新输入默认值似乎是多余的。

最佳答案

这个 init 有默认值。

struct Size {
var width = 0.0, height = 0.0

init(width: Double = 0.0, height: Double = 0.0) {
self.width = width
self.height = height
}
}

然后您可以像这样创建对象:

var size = Size(width: 5.0)

关于Swift memberwise initializer - 对除一个属性之外的所有属性使用默认属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53576014/

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