我有一个< String, String>
类型的字典。它可以通过dictionary[0]
之类的索引值进行访问。但我想通过使用密钥以简单的方式访问其中的每个值。
var rows: [Dictionary<String, String>] = []
rows = [..] // assigned some value
var value = rows[0]["id"]
println(rows[0]) // ["id": "2", "name": "Bob", "age": "19"]
println(value) // I get nil value
如何通过此密钥格式访问。有什么建议。提前谢谢。
我尝试从CSV文件中读取值。并分配给行。当我打印rows[0]
它显示正确的值时,它工作正常。但是在下一行如果我打印rows[0]["id"]
它会给我一个零值。我尝试使用像
rows = [["name": "alvin"]]
var value = rows[0]["name"]
println(value) // prints alvin
区别是什么?
答案 0 :(得分:1)
如果您的密钥中有空格,则可能会发生这种情况。请考虑以下事项:
var rows: [Dictionary<String, String>] = []
rows = [["id ": "2", "name": "Bob", "age": "19"]] // assigned some value
var value = rows[0]["id"]
println(rows[0]) // ["id": "2", "name": "Bob", "age": "19"]
println(value) // I get nil value
要检查您的钥匙,请将它们打印出来,看看它们中是否有空格:
for key in rows[0].keys {
println("XXX\(key)XXX")
}
打印:
XXXid XXX
XXXageXXX
XXXnameXXX
显示密钥id
后跟一个空格,但age
和name
不是。