2016-11-02 1 views
-1

私はこのプログラムについて質問しましたが、すべての問題が解決されているとは限りません。私が変換しようとしたハングマンプログラム2

guard let letterIndex = letters.indexOf(sender) 
     else { return } 

    let letter = letterArray[letterIndex] 
    guard let indexInWord = word.characters.indexOf(letter) 
     else { 
      print("no such letter in this word") 
      return 
     } 

    // since we have spaces between dashes, we need to calc index this way 
    let indexInDashedString = indexInWord * 2 

    var dashString = wordLabel.text 
    dashString[indexInDashedString] = letter 
    wordLabel.text = dashString 

:ガードindexInWord 『の行を聞かせて「に期待される引数の型『_Element』(別名『文字』)にタイプ『文字列』の値を変換できません』:私は現在示すエラーを経験しています文字列 '文字'を文字に変換しますが、エラーが増えるだけです。文字列を引数型 "_Element"に変換する方法が不思議でした。

答えて

0

リストのような文字列を迅速に扱うのは難しい主にString.charactersが典型的な配列ではないため、forループを実行するとインデックスが与えられた特定の文字を探している場合は少し難しくなります。文字列クラス。

extenstion String { 
    func getChars() -> [String] { 
     var chars:[String] = [] 
     for char in characters { 
      chars.append(String(char)) 
     } 
     return chars 
    } 
} 

私が代わりにString.characters

の本をチェックし、あなたが入力を受信したときに変数を定義するためにこれを使用します