swift - 使用函数中的内容更改变量值

标签 swift

我的函数中有一些值,我想将它们放入链接到 viewController 的标签中。我尝试执行 currentTempLabel.text = result.main.temp 但它不想在函数中执行此操作。因此,我将其移至 viewDidLoad 并创建了一些变量 var temp: String = ""。在我的函数中,我将变量设置为从该函数中的 API 获取的值,但它没有将其设置为该值。当我运行该应用程序时,它只会显示我放入其中的默认值。

现在我已经将值打印到控制台,但我需要转到实际的应用程序并显示。这可能是非常简单的事情,但我就是无法弄清楚。

在我的函数中:

self.temp = String(result.main.temp)

viewDidLoad中我有:

currentTempLabel.text = temp

在我看来这应该可行,但在 Swift 看来不行。

最佳答案

获取天气数据的 API 异步工作。将值分配给主线程上完成处理程序中的标签

DispatchQueue.main.async { 
    self.currentTempLabel.text = String(result.main.temp)
}

关于swift - 使用函数中的内容更改变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55669777/

相关文章:

ios - 在 ScrollView Xcode Swift 中添加标签

ios - Swift 错误无法转换类型 '(AFHTTPRequestOperation?, AnyObject?) 的值 -> ()

ios - 在uitableview部分中选择行

启用了用户交互的 IOS 11 导航项不起作用

ios - Swift - 一个月后重置数据

ios - 获取 NSLayoutConstraints 关联 View

ios - 使用 ResearchKit 以编程方式呈现 ORKTaskViewController

swift - Tableview 数据不会使用 NSUserDefaults 打印

swift - 在 Swift 中不使用 UIKit 将 PNG 数据转换为 JPG 数据,反之亦然

json - 无法从链接解析 JSON - 没有错误,但该函数在尝试访问 URL 后返回