类型 '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
。您需要一个集合或序列。
我正在尝试在 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
。您需要一个集合或序列。