Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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
Swift-要标记的词典项_Swift_Dictionary - Fatal编程技术网

Swift-要标记的词典项

Swift-要标记的词典项,swift,dictionary,Swift,Dictionary,我正在尝试将字典项的值分配给标签。此字典位于数组中 当我这样打印此项目时: print(wsQAshowTagArray![0]["LData1"]); 它回来了 Optional(410056) 这是正确的值。但是我不知道为什么有可选的() 无论如何,当我尝试将此值指定给这样的标签时: self.LData1.text = wsQAshowTagArray![0]["LData1"] 我的代码变黑了,只有在我运行它时才会出现这个错误 为什么会出现

我正在尝试将字典项的值分配给标签。此字典位于数组中

当我这样打印此项目时:

print(wsQAshowTagArray![0]["LData1"]);
它回来了

Optional(410056)
这是正确的值。但是我不知道为什么有可选的()

无论如何,当我尝试将此值指定给这样的标签时:

self.LData1.text = wsQAshowTagArray![0]["LData1"]
我的代码变黑了,只有在我运行它时才会出现这个错误


为什么会出现此错误以及如何将其分配给标签?

wsQAshowTagArray![0][“LData1”]
是可选的
Int
。您可以通过附加
强制展开它

let someInt = wsQAshowTagArray![0]["LData1"]!
然后你可以把它放在这样一个字符串中:

LData1.text = "\(someInt)"
或作为一个班轮:

LData1.text = "\(wsQAshowTagArray![0]["LData1"]!)"

请注意,此代码将崩溃,因为您正在使用
强制展开。您应该真正使用
if let
guard let
。选项是Swift语言的基本组成部分。您应该阅读(它们很短)。

似乎
wsQAshowTagArray![0][“LData1”]
是一个
Int?
,您不能将整数分配给文本字符串。字典访问总是返回选项。为什么?因为如果字典中不存在键,您将得到
nil
。为了能够返回
nil
,它必须返回一个可选类型的值。在旁注中,实例和局部变量应该以小写字母开头,因此您应该将
LData1
重命名为
LData1
(或者更具描述性的名称)。