如何使用Swift从关联数组中获取值

时间:2014-12-07 00:32:32

标签: arrays swift

我正在努力获得" readerSession"从关联数组中将其放入变量中。这就是我尝试过的。

代码

println(thevalue)

返回

{
    readerSession = 41;
    tax = 7;
    tax2 = 6;
    taxName = GST;
    taxName2 = PST;
}

所以readerSession等于41,现在让我们看看是否可以得到它。

代码

println(thevalue["readerSession"])

已退回可选(41)

好的,正是我想要的,现在我试着把它变成一个变量。

代码

var readerSession = thevalue["readerSession"] as? String ?? "0"
println("READER SESSION \(readerSession) ")

已退回 READER SESSION 0

为什么" 0" ???它应该是" 41"

1 个答案:

答案 0 :(得分:1)

您获得"0"的原因是因为存储在关联数组中的值是Int,而不是String。因此,当您尝试转换为String时,强制转换返回null,因此??的右侧开始,您将获得零字符串。

你可以这样解决:

var readerSession : AnyObject = thevalue["readerSession"] ?? "0"