致命错误:从.csv文件获取数据时无法索引空缓冲区

时间:2015-01-27 07:45:07

标签: ios arrays csv swift xcode6

我正在尝试使用This第三方库从users.csv文件中获取数据,因此我从该库中添加了CSV.swift文件,并添加了users.csv这样的数据:

id,name,age
1,Alice,18
2,Bob,19
3,Charlie,20

我尝试以这种方式从这个.csv文件中获取数据,如图书馆描述中所述:

override func viewDidLoad() {
    super.viewDidLoad()
    let csvURL = NSURL(string: "users.csv")
    var error: NSErrorPointer = nil
    let csv = CSV(contentsOfURL: csvURL!, error: error)!

    // Rows
    let rows = csv.rows
    let headers = csv.headers  //=> ["id", "name", "age"]
    let alice = csv.rows[0]    //=> ["id": "1", "name": "Alice", "age": "18"]
    let bob = csv.rows[1]      //=> ["id": "2", "name": "Bob", "age": "19"]

    // Columns
    let columns = csv.columns
    let names = csv.columns["name"]  //=> ["Alice", "Bob", "Charlie"]
    let ages = csv.columns["age"]    //=> ["18", "19", "20"]
}

但是我收到了错误:let alice = csv.rows[0]并且控制台中的错误是:fatal error: Cannot index empty buffer我不明白这里有什么问题。 这是我项目的screenShot:http://imgur.com/l3gqt2j

请帮助我。

1 个答案:

答案 0 :(得分:2)

问题是以下代码无法找到您所指的文件:

let csvURL = NSURL(string: "users.csv")

将其更改为:

let csvURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("users", ofType: "csv")!)