我正在使用Swift导入项目中存储的 .csv 文件。但是,我总是得到错误
fatal error: unexpectedly found nil while unwrapping an Optional value
我尝试做同样的事情,但将其转换为 .txt 文件,但也失败了。但是,如果我只是将内容直接复制并粘贴到新的 .txt 文件中,则可以正常使用。我只是想把它变成一个字符串,以便我以后可以使用它。
let file = NSBundle.mainBundle().pathForResource("SL", ofType:"csv")
var text = String(contentsOfFile: file!, encoding: NSUTF8StringEncoding, error: nil)!
var rawStudents = text.componentsSeparatedByString("\n")
答案 0 :(得分:2)
确保将csv文件拖到项目后,根据需要选择要复制到项目的选项。如果让我们安全地打开你的选项,你应该总是使用。
var error:NSError?
if let fileUrl = NSBundle.mainBundle().URLForResource("SL", withExtension:"csv") {
if let text = String(contentsOfURL: fileUrl, encoding: NSUTF8StringEncoding, error: &error) {
let rawStudents = text.componentsSeparatedByString(",")
} else {
println("error reading file")
if let error = error {
println(error.description)
}
}
}
答案 1 :(得分:0)
在let file=NSBundle.mainBundle().pathForResource("SL", ofType:"csv")
检查文件常量是否为零之后,在下一行中你强制展开潜在的nil,这是一个非常糟糕的主意。
问题可能是该文件不在捆绑包中。