无法快速更改ui标签

时间:2019-12-31 22:20:07

标签: ios swift xcode parsing uilabel

我正在尝试制作天气应用。我遇到的问题是在解析出数据之后,我尝试将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

但出现此错误闭包中对属性“条件”的引用需要显式的“自我”。使捕获语义明确。

但是,每次我尝试自我时。在前面,它不会打印我的数据,并且会发生其他情况。由于我是新来的,任何帮助将不胜感激

2 个答案:

答案 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