键入' String.CharacterView.IndexDistance' (又名' Int')不符合协议'序列'

时间:2017-03-26 01:48:38

标签: swift swift-playground

我正在尝试在Swift 3游乐场中制作一个莫尔斯代码转换器。我正在使用的功能没有成功启动翻译过程,说" Type' String.CharacterView.IndexDistance' (又名' Int')不符合协议'序列'"。

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。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

删除.count

input.characters.count是表示字符数的Int

input.characters表示字符序列。

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