string.insert(contentsOf:at :)给出错误

时间:2018-06-08 07:00:01

标签: swift string

我一直在Swift 4游乐场使用Apple网站上的以下代码:

var mystring = "Hello there"
mystring.insert(contentsOf: "TEST".characters, at: 5)

这给出了错误:

  

无关的参数标签'contentsOf:'在通话中

在操场上有以下描述:

  

错误:testsubstrings.playground:1:24:错误:协议'Collection'只能用作通用约束,因为它具有自身或相关类型要求str.insert(contentsOf:Collection,at:< #T# #String.Index#&GT)

这是Apple doc网站上的相同示例。我无法弄清楚为什么它不起作用。

2 个答案:

答案 0 :(得分:5)

假设您使用的是Swift 4,问题主要是由于您尝试使用Int而不是String.Index来指定索引。

您的代码可以使用以下更改:

var mystring = "Hello there"
mystring.insert(contentsOf: "TEST", at: mystring.index(mystring.startIndex, offsetBy: 5))

结果:

  

HelloTEST那里

使用字符串索引并不简单。

答案 1 :(得分:0)

无法与数组一起使用我遇到了相同的问题。  “调用中的外部参数标签'contentsOf:'