0
このコードに問題があります。私は "レベル1"という名前のテキストファイルから読み込み、行ごとに行おうとしており、.enumerated()関数を使って各行を配列に追加しようとしています。しかし、インデックスを使用して配列を塗りつぶすときに、それが0から始まって印刷されるとクラッシュし、範囲外のものにアクセスしているというエラーが表示されます。どんな助けでも感謝します。 Array
の最後に、単一の要素を追加するためにテキストファイルからの読み込み中に「インデックスが範囲外です」エラー
var clueString = ""
var solutionString = ""
var letterBits = [String]()
var solutions = [String]()
var gameData: [String] = [String]()
func loadLevel() -> [String] {
if let levelFilePath = Bundle.main.path(forResource: "level\(1)", ofType: "txt"){
if let levelContents = try? String(contentsOfFile: levelFilePath) {
var lines = levelContents.components(separatedBy: "\n")
lines = GKRandomSource.sharedRandom().arrayByShufflingObjects(in: lines) as! [String]
for (index, line) in lines.enumerated() {
let parts = line.components(separatedBy: ": ")
let answer = parts[0]
let clue = parts[1]
gameData[index].append(answer)
}
}
}
return gameData
}
あなたの文字列を投稿できますか? –
一見すると、 'gameData [index] .append(answer)'が原因であるようです。 'gameData.append(answer)'を試してください。 –
@DennisVennink働いてくれてありがとう!私はそれを考えなかったとは信じられない。 – 47goon