answer = questionSourceDataArray[1]に上記のエラーが発生します。
swift
1import Foundation 2 3class QuestionData { 4 //問題文 5 var question: String 6 var answer: String 7 var answer2: String 8 //正解番号 9 var selectAnswer: Int 10// ユーザーが選択した番号 11 var userSelect:Int? 12// 問題番号 13 var questionNo:Int = 0 14 15 init(questionSourceDataArray: [String]) { 16 question = questionSourceDataArray[0] 17 answer = questionSourceDataArray[1] 18 answer2 = questionSourceDataArray[2] 19 selectAnswer = Int(questionSourceDataArray[3])! 20 } 21// 問題文が一致しているかの判定 22 func correct() -> Bool { 23 if selectAnswer == userSelect { 24 return true 25 } 26 return false 27 } 28 } 29 30// 問題管理クラス 31class QuestionDataManager { 32 33 static let sharedInstance = QuestionDataManager() 34// 問題の格納配列 35 var questionDataAdd = [QuestionData]() 36// 問題番号の管理 37 var nowQuestionIndex: Int = 0 38 private init() { 39 40 } 41// 問題文を読み込む処理 42 func loadQuestion() { 43 questionDataAdd.removeAll() 44 nowQuestionIndex = 0 45// ファイルの読み込み 46 guard let csvFilePath = Bundle.main.path(forResource: "question", ofType: "csv") else { 47 print("csvファイルが取得できません") 48 return 49 } 50// ファイルを文字列で呼び出す 51 do { 52 let csvStringFaile = try String(contentsOfFile: csvFilePath, encoding: String.Encoding.utf8) 53 54 csvStringFaile.enumerateLines(invoking: { (line, stop) in 55 let questionSourceDataArray = line.components(separatedBy: ",") 56 57 let questionData = QuestionData(questionSourceDataArray: questionSourceDataArray) 58 59 self.questionDataAdd.append(questionData) 60 61 questionData.questionNo = self.questionDataAdd.count 62} 63 ) 64 } catch let error { 65 print("csvファイルを読み込むことができませんでした:(error)") 66 return 67 } 68 } 69 70 func nextQuestion() -> QuestionData? { 71 if nowQuestionIndex < questionDataAdd.count { 72 let nextQuestion = questionDataAdd[nowQuestionIndex] 73 nowQuestionIndex += 1 74 return nextQuestion 75 } 76 return nil 77 } 78 } 79 80
Fatal error: Index out of range: file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-1103.2.25.8/swift/stdlib/public/core/ContiguousArrayBuffer.swift, line 444
2020-06-21 22:19:07.590357+0900 FX quiz[63527:5373612] Fatal error: Index out of range: file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-1103.2.25.8/swift/stdlib/public/core/ContiguousArrayBuffer.swift, line 444
(lldb)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。