Swift显示Dictionary类型的nil值

时间:2014-12-11 10:38:10

标签: ios swift

我有一个< 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

区别是什么?

1 个答案:

答案 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后跟一个空格,但agename不是。