我正在尝试将CSV文件转换为字符串来解析它,并且我对错误感到非常困惑。我正在使用的代码是:
let filename = Bundle.main.path(forResource: "BaseballSimStats", ofType: "CSV")
var text = String()
do {
text = try String(contentsOfFile: filename!, encoding: String.Encoding.utf8)
} catch {
print("File Read Error for file \(filename!)")
}
print(text)
我收到一条错误,说执行因为一条错误的指令而被中断,并且在解开Optional值时意外地发现了nil。这是有道理的,因为我使用filename!
,但当我将其更改为?
时,我收到以下错误:
Playground execution failed: error: MyPlayground.playground:1:47: error: value of optional type 'String?' not unwrapped; did you mean to use '!' or '?'?
text = try String(contentsOfFile: filename?, encoding: String.Encoding.utf8)
^
( )!
这告诉我通过添加!
来修复它,但是当我这样做时,我得到了上一个错误。我究竟做错了什么?提前谢谢!