2017-03-26 3 views
-3

私はスイフト3遊び場でモールスコードコンバータを作成しようとしています。私が使用している関数は、 "Type 'String.CharacterView.IndexDistance'(別名Int ')がプロトコル'シーケンス 'に準拠していないと言って、翻訳プロセスを正常に開始しません。タイプ '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 
} 

エラーは、具体的にcharsInStringで、for char in charsInStringラインで起こります。これをどうやって解決するのですか?

+2

'.count'を削除 – matt

答えて

0

.countを削除してください。

input.characters.countは、文字数を表すIntです。

input.charactersは文字のシーケンスを表します。

ループfor-inIntを使用することはできません。コレクションやシーケンスが必要です。

関連する問題