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 [append (answer)]는 범인입니다. 'gameData.append (answer)'를 시도하십시오. –
@DennisVennink 그 고마워요! 내가 그렇게 생각하지 않았다는 것을 믿을 수 없다. – 47goon