如何使用数据更新此变量

时间:2019-03-07 05:04:18

标签: swift

新程序员在这里!我正在处理网络请求,下面是我的代码段。完成网络请求后,我想将请求中的值存储到变量中。但是,如果在if let语句之外调用该变量,则不会更新该变量。本质上,if let语句内部的print语句将打印我要查找的值,但是if let语句外部的print语句将打印我为该变量设置的默认值。该变量是全局变量。我需要在代码的其他地方使用该更新的变量,有什么想法吗?

        if let data = data {
            self.nameLabel.text = data.name
            person = data.name
            print(person)
        }
        print(person)

1 个答案:

答案 0 :(得分:3)

首先,您没有显示完整的代码,所以我猜您需要首先更新下面的UILabel的主队列,如下代码所示:

DispatchQueue.main.async {
    self.nameLabel.text = data.name
}

接下来的事情是,如果您希望在请求完成并UILabel更新后访问其他地方的值,则可以通过这种方式从中获取值:

let value = self.nameLabel.text!

如果您希望在请求完成后访问该值,则可以使用闭包和HERE来检查它的示例。