Tested this from the reference: https://developer.apple.com/documentation/swift
var string = String(count: 5, repeatedValue: \"a\")
// string is \"aaaaa\"
I know this is an old question and already has an answer. However I think I know why String(count: 5, repeatedValue: "a") does not work.
The thing is String has two similar looking initialisers:
init(count: Int, repeatedValue: Character)
init(count: Int, repeatedValue: UnicodeScalar)
So in this case compiler can't tell whether a literal is a Character or UnicodeScalar, hence compile time error if you don't pass explicit Character. To confirm that "a" can be interpreted as UnicodeScalar you can check that this line compiles:
let a: UnicodeScalar = "a"