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
(或者更具描述性的名称)。