gpt4 book ai didi

macos - swift 错误 "Immutable value only has mutating members"

转载 作者:搜寻专家 更新时间:2023-10-31 08:17:07 24 4
gpt4 key购买 nike

编译以下 Swift 代码时(在 Sample.swift 中):

import Cocoa

class Sample {
func doSomething() {
var stringArray = Array<String>()
stringArray.append("AAA")
addToString(stringArray)
stringArray.append("CCC")
}

func addToString(myArray:Array<String>) {
myArray.append("BBB")
}
}

我在“myArray.append("BBB")”行收到以下错误:

Immutable value of type 'Array<String>' only has mutating members named 'append'

如何修复代码以允许调用此可变方法?

提前致谢

最佳答案

如果你想修改数组,你必须像这样在 inout 参数中指定它 func addToString(inout myArray:Array<String>) .然后,当您调用该函数时,您必须在参数前添加 & 以表明它可以被该函数修改。您的代码将如下所示:

class Sample {
func doSomething() {
var stringArray = Array<String>()
stringArray.append("AAA")
addToString(&stringArray)
stringArray.append("CCC")
}

func addToString(inout myArray:Array<String>) {
myArray.append("BBB")
}
}

您可能想查看 this page 上的输入输出参数.

关于macos - swift 错误 "Immutable value only has mutating members",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24993300/

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