gpt4 book ai didi

arrays - 无法设置数组内字典的值 [Swift]

转载 作者:行者123 更新时间:2023-11-30 10:14:24 24 4
gpt4 key购买 nike

我试图在 swift 中设置数组内字典的值,但出现错误。
上面写着Cannot pass immutable value of type '[Dictionary]' to mutating binary operator '+='

我的代码如下:
// Declare the array
var numbersArray:[Dictionary] = [Dictionary<String, Any>]()


...更多代码...

func createArray() {
for var iteration = 0; iteration < 75; iteration++ {
//Add numbers to the array
// May be used to set column
var column:String
switch iteration {
case 0...14:
column = "B"
numbersArray += [["Randomized" : false, "Column" : "B", "Origin" : 0]]
case 15...29:
column = "I"
numbersArray += [["Randomized" : false, "Column" : "I", "Origin" : 0]]
case 30...44:
column = "N"
numbersArray += [["Randomized" : false, "Column" : "N", "Origin" : 0]]
case 45...59:
column = "G"
numbersArray += [["Randomized" : false, "Column" : "G", "Origin" : 0]]
case 60...74:
column = "O"
numbersArray += [["Randomized" : false, "Column" : "O", "Origin" : 0]]
default:
column = "Out Of Bounds"
numbersArray += [["Randomized" : false, "Column" : "Out Of Bounds", "Origin" : 0]]
}
// numbersArray1 += [["Randomized" : false, "Column" : String(column), "Origin" : 0]]

}
}

有什么想法吗?
注意:这在 Playground 上效果很好。

最佳答案

您不能对不兼容项目的数组(类型可以更改)使用 +=,您需要将值附加到数组,如下所示:

var numbersArray = [Dictionary<String, Any>]() 
numbersArray.append(["Randomized" : false, "Column" : "B", "Origin" : 0])

如果您有一个字符串或整数数组,则可以使用 +=

var numbersArray = [String]() 
NumbersArray += ["I am always a string"]

有关集合的更多详细信息,请访问 this apple documentation

关于arrays - 无法设置数组内字典的值 [Swift],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31039238/

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