質問: [csvSplit[1],csvSplit[2]] ←ここでエラーが出ます print(csvSplit) ←ここでcsvSplitをprintしています。csvArrayではありません。 } } catch let error as NSError { print(error.localizedDescription) } } } エラーメッセージ Thread 1: EXC_BAD_INSTRUCTION(code=EXC_l386_INVOP,subcode=0x0) csvSplitの出力結果 ["野球部", "1", "3A"] ["サッカー部", "2", "2B"] ["テニス部", "3", "6C"] fatal error: Index out of range
回答: おそらくですが、csvファイルの最後に改行が入っているのではないでしょうか。 ``` 1: 野球部,1,3A 2: サッカー部,2,2B 3: テニス部,3,6C 4: ``` このため、最後の空の行に対してカンマ区切りで配列を作ろうとして作れず、存在しない要素にアクセスしようとしてエラーになっていると思われます。 辞書に格納する前に`csvSplit`の要素数をチェックすると良いのではないでしょうか。 ``` if(csvSplit.count == 3){ csvArray[csvSplit[0]] = [csvSplit[1],csvSplit[2]] } ```