Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t在我的Swift函数中为数组元素分配一个字符串_Swift - Fatal编程技术网

Can';t在我的Swift函数中为数组元素分配一个字符串

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

下面代码中的两个赋值行都显示此错误:

“@|值$T5”与“字符串”不同

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)
}