我正在尝试在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
。我该如何解决这个问题?
答案 0 :(得分:0)
删除.count
。
input.characters.count
是表示字符数的Int
。
input.characters
表示字符序列。
您无法在Int
循环中使用for-in
。你需要一个集合或序列。