Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何从字典中获取数值_Ios_Xcode_Swift - Fatal编程技术网

Ios 如何从字典中获取数值

Ios 如何从字典中获取数值,ios,xcode,swift,Ios,Xcode,Swift,我从JSON访问数据,并将其存储在字典1中,然后将字典1传递给另一个视图控制器的字典2。视图控制器具有所有详细信息,主要是12个标签。我已成功访问字符串,但无法获取数字值。请看一下代码 详细信息查看控制器 注意。最后一行代码是一个数值。如果我用NSNumber替换字符串,则会出现以下错误: 无法将NSNumber类型的值分配给String类型 您可以从字典中获取整数值,如 int value = dict["integerValue"].integerValue // or doubleValu

我从JSON访问数据,并将其存储在字典1中,然后将字典1传递给另一个视图控制器的字典2。视图控制器具有所有详细信息,主要是12个标签。我已成功访问字符串,但无法获取数字值。请看一下代码

详细信息查看控制器 注意。最后一行代码是一个数值。如果我用NSNumber替换字符串,则会出现以下错误:

无法将NSNumber类型的值分配给String类型


您可以从字典中获取整数值,如

int value = dict["integerValue"].integerValue // or doubleValue etc
如果你需要绳子,它可以是

self.lblLongitude.text = "\(self.dict2["lng"]. doubleValue)"

如果self.dict2[lng]从不为空,请尝试此操作

 self.lblLongitude.text = (self.dict2["lng"] as! NSNumber).stringValue
否则,如果可以为空,则

self.lblLongitude.text = self.dict2["lng"]?.description

应尽可能避免强制铸造,因为它可能导致意外碰撞。self.dict2[lng]as!如果由于某种原因字典没有lng键,NSNumber将使应用程序崩溃

最后一行应该是:

self.lblLongitude.text = self.dict2["lng"]?.description

这保证不会崩溃,因为任何对象上都有描述,如果字典中不包含lng键,您将得到一个简单的nil来分配给文本。

您可以这样写

self.lblLongitude.text = String(format: "%f",self.dict2["lng"]!)

请注意,如果由于某种原因dict2最终没有lng密钥,这将导致应用程序崩溃。应避免强制铸造。
self.lblLongitude.text = String(format: "%f",self.dict2["lng"]!)