类型 'String.CharacterView.IndexDistance'(又名 'Int')不符合协议 'Sequence'

Type 'String.CharacterView.IndexDistance' (aka 'Int') does not conform to protocol 'Sequence'

我正在尝试在 Swift 3 操场上制作莫尔斯电码转换器。我正在使用的功能没有成功启动翻译过程,说 "Type 'String.CharacterView.IndexDistance' (aka 'Int') does not conform to protocol 'Sequence'".

func convertStringToMorse(_ input: String) -> String {
    let stringToConvert = input
    var charsInString = input.characters.count
    var returnString = ""
    for char in charsInString {
        let returnChar = convertLetterToMorse(char)
        if returnChar != "" {
            returnString += returnChar + " "
        }
    }
    return returnString
}

错误发生在 for char in charsInString 行,特别是 charsInString。我该如何解决这个问题?

删除.count

input.characters.count是一个Int表示字符数。

input.characters表示字符序列。

您不能在 for-in 循环中使用 Int。您需要一个集合或序列。