Я использовал следующий код с веб-сайта Apple на игровой площадке Swift 4:
var mystring = "Hello there"
mystring.insert(contentsOf: "TEST".characters, at: 5)
Это дает ошибку:
Extraneous argument label 'contentsOf:' in call
со следующим описанием на детской площадке:
error: testsubstrings.playground:1:24: error: protocol 'Collection' can only be used as a generic constraint because it has Self or associated type requirements str.insert(contentsOf: Collection, at: <#T##String.Index#>)
Это тот же пример, что и на веб-сайте документации Apple. Я не могу понять, почему это не сработает.





Предполагая, что вы используете Swift 4, проблема в основном вызвана вашей попыткой указать индекс с помощью Int вместо String.Index.
Ваш код работает со следующими изменениями:
var mystring = "Hello there"
mystring.insert(contentsOf: "TEST", at: mystring.index(mystring.startIndex, offsetBy: 5))
Результат:
HelloTEST there
Работать со строковыми индексами непросто.
Спасибо - теперь я могу заставить это работать на детской площадке, используя то же самое, что и у вас выше.