我正在尝试制作天气应用。我遇到的问题是在解析出数据之后,我尝试将UILabel更改为等于返回的示例数据。
if let weather = item["weather"] as? NSArray{
if let value = weather[0] as? NSDictionary{
if let description = value["description"] as? String{
print(description)
}
我不想像这样打印描述,而是要更改UI标签的内容
conditionlabel.text = description
但出现此错误闭包中对属性“条件”的引用需要显式的“自我”。使捕获语义明确。
但是,每次我尝试自我时。在前面,它不会打印我的数据,并且会发生其他情况。由于我是新来的,任何帮助将不胜感激
答案 0 :(得分:0)
我认为您需要在这里使用self.conditionlabel.text = description
(也就是说,self
的使用是UILabel
而不是description
的使用-我的猜测是您使用的是self.description
,它为您提供了对视图控制器的描述。)
答案 1 :(得分:0)
在具有UILabel的控制器中创建一个可选变量:
var descriptionText: String?
现在,当您解析数据时,请为该变量分配值
if let description = value["description"] as? String{
descriptionText = description
}
解析数据后,将此值分配给标签
self.conditionlabel.text = descriptionText