[英]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"
}
您正在使用可变参数(...),该参数被视为数组。
这就是错误消息的内容。 您正在传递一个字符串数组,该字符串数组应为单个字符串。
有两种解决方案:
将item
参数更改为String
:
func addItem(item: String) -> String{
使用API附加数组的内容:
randomList.append(contentsOf: item)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.