gpt4 book ai didi

swift - 带有 self.variable = variable 的初始化器

转载 作者:行者123 更新时间:2023-11-28 06:26:56 25 4
gpt4 key购买 nike

我是 Swift 的新手。我不明白以下示例中 self.seconds = seconds 的目的是什么:

class Time {
var seconds:Double = 0

init(seconds: Double) {
self.seconds = seconds
}

var minutes: Double {
get {
return (seconds / 60)
}
set {
self.seconds = (newValue * 60)
}
}

var hours: Double {
get {
return (seconds / (60 * 60))
}
set {
self.seconds = (newValue * (60 * 60))
}
}
}

根据 xcode 'self.seconds' 是一个变量,'seconds' 是一个 let 常量。我很困惑。有什么想法吗?

最佳答案

在你的初始化器范围内,你有一个局部常量 seconds 和一个变量属性 seconds(你正在使用 self.seconds 以避免混淆)。

为了减少混淆,您可以将初始化程序的参数重命名为类似 newSeconds 的名称。

init(seconds newSeconds: Double) {
self.seconds = newSeconds
}

这不会改变您调用初始化程序的方式(您仍然使用标签 seconds:,但您的初始化程序不会那么困惑。

关于swift - 带有 self.variable = variable 的初始化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41599407/

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