Can';t在我的Swift函数中为数组元素分配一个字符串
下面代码中的两个赋值行都显示此错误: “@|值$T5”与“字符串”不同Can';t在我的Swift函数中为数组元素分配一个字符串,swift,Swift,下面代码中的两个赋值行都显示此错误: “@|值$T5”与“字符串”不同 func PrintShoppingList(myList:Array) { println(myList) var colla=“colla” 让鱼吃吧:String=“fish” myList[0]=卷心菜 myList[1]=鱼 } 怎么了?这里的问题是传递给函数的参数默认设置为常量,并且是不可变的。因此,您需要将其声明为var,以便能够对其进行变异 func PrintShoppingList(var myList
func PrintShoppingList(myList:Array)
{
println(myList)
var colla=“colla”
让鱼吃吧:String=“fish”
myList[0]=卷心菜
myList[1]=鱼
}
怎么了?这里的问题是传递给函数的参数默认设置为常量,并且是不可变的。因此,您需要将其声明为var,以便能够对其进行变异
func PrintShoppingList(var myList: Array<String>)
{
println(myList)
var cabbage = "cabbage"
let fish:String = "fish"
myList[0] = cabbage
myList[1] = fish
print(myList)
}
func PrintShoppingList(var myList:Array)
{
println(myList)
var colla=“colla”
让鱼吃吧:String=“fish”
myList[0]=卷心菜
myList[1]=鱼
打印(myList)
}
如果您传递的数组少于2个元素,您的应用程序可能会崩溃,因为您正在访问myList[0]和myList[1]。所以,请确保您的数组至少有个元素可以将数组传递给此方法。默认情况下,参数是常量,您不能对其进行变异。您可以将它们更改为
var
,但这将是数组的副本
func PrintShoppingList(var myList: Array<String>)
{
println(myList)
var cabbage = "cabbage"
let fish:String = "fish"
myList[0] = cabbage
myList[1] = fish
}
没错-使用+=或.append()。看见
func PrintShoppingList(var myList: Array<String>)
{
println(myList)
var cabbage = "cabbage"
let fish:String = "fish"
myList[0] = cabbage
myList[1] = fish
}
func PrintShoppingList(inout myList: Array<String>)
{
println(myList)
var cabbage = "cabbage"
let fish:String = "fish"
myList[0] = cabbage
myList.append(fish)
}