gpt4 book ai didi

ios - 类型 `Int` 的不可变值只有名为 adjust 的可变成员

转载 作者:可可西里 更新时间:2023-11-01 00:17:03 25 4
gpt4 key购买 nike

我现在正在学习 Swift 语言。

在 Apple 的文档中,我看到了一个扩展示例:

extension Int: ExampleProtocol {
var simpleDescription: String {
return "The number \(self)"
}
mutating func adjust() {
self += 42
}
}
7.simpleDescription

所以我只是像这样调用了 adjust():

7.adjust()

它抛出一个错误:

Immutable value of type `Int` only has mutating members named adjust.

Swift Error

我不确定是什么导致了错误?谁能帮助我理解这个问题?

最佳答案

adjust 方法被标记为 mutating,这意味着它改变了调用该方法的对象。

7 是文字,因此更改它的值没有意义。文字不能改变。这就是为什么错误消息说不可变值不能被改变。

相反,您可以在变量(可变)上使用该方法:

var myNum = 7
myNum.adjust()
println(myNum) // 49

如果你对常量尝试同样的事情,你会得到同样的错误信息,因为它也是不可变的:

let myNum2 = 7
myNum2.adjust() // Error: Immutable value of type 'Int' only has mutating members named 'adjust'

关于ios - 类型 `Int` 的不可变值只有名为 adjust 的可变成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27577105/

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