繁体   English   中英

如何使用变量将字符串追加到数组中? 迅速

[英]How to append a string into an array using a variable? Swift

我最近开始学习编码,在将已变成变量的字符串附加到数组中时遇到一个问题。 这是控制台所说的:

无法将类型“ [String]”的值转换为预期的参数类型“ String”

这是我的代码:

var randomList = [String]()

func getList(inputList:Array<String>) -> Array<String>{

    randomList = inputList

    return randomList
}

func addItem(item: String...) -> String{

    randomList.append(item)

    return "\(item) was added"
}

func getItem(x: Int) -> String{
    return randomList[x]
}

只需将代码更改为:

func addItem(item: String...) -> String{

    randomList.append(contentsOf: item)

    return "\(item) was added"
}

然后,您将可以添加1个或多个这样的字符串:

addItem(item: "Hello", "you", "there")

结果数组将如下所示:

print(randomList)

[“你好”]


要附加单个字符串:

let singleString = "hi"

addItem(item: singleString)

要附加多个字符串:

let stringOne = "one"
let stringTwo = "two"
let stringThree = "three"

addItem(item: stringOne, stringTwo, stringThree)

因为您要附加一个字符串数组,而不是单个字符串。 item是一个字符串数组。

您可以删除...以附加单个项目。

func addItem(item: String) -> String{

    randomList.append(item)

    return "\(item) was added"
}

或者如果您想附加字符串数组,请使用randomList.append(contentsOf: item)

func addItem(item: String...) -> String{

    randomList.append(contentsOf: item)   

    return "\(item) was added"
}

您正在使用可变参数(...),该参数被视为数组。

这就是错误消息的内容。 您正在传递一个字符串数组,该字符串数组应为单个字符串。

有两种解决方案:

  1. item参数更改为String

     func addItem(item: String) -> String{ 
  2. 使用API​​附加数组的内容:

     randomList.append(contentsOf: item) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM