我试图从一个关联数组中获取“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) ")
返回的读取器会话0
为什么是“0”??? 应该是“41”
最佳答案
得到"0"
的原因是存储在关联数组中的值是一个Int
,而不是一个String
。因此,当您尝试强制转换到String
时,强制转换返回空值,因此??
的右侧启动,您将得到一个零字符串。
你可以这样解决:
var readerSession : AnyObject = thevalue["readerSession"] ?? "0"