Swift错误"不可变值只有变异成员"

  发布于 2022-12-31 19:17

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

import Cocoa

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

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

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

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

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

提前谢谢了

1 个回答
  • 如果要修改数组,则必须将其指定为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")
        }
    }
    

    您可能需要查看此页面上的输入输出参数.

    2022-12-31 19:18 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有