【问题标题】:Why don't the UITextField and UILabel update when the .text field is changed in a completion block?为什么在完成块中更改 .text 字段时 UITextField 和 UILabel 不更新?
【发布时间】:2014-11-27 00:58:40
【问题描述】:

我有一个视图控制器和一个计算器类。我在视图控制器中有一个计算器实例,并通过该实例调用数据获取方法。这也会更新计算器实例的变量。我想在数据提取完成后更新 UILabel,但是当我包含时

nameOFLabel.text = String(calculatorInstance.updatedValue)

作为数据获取方法的完成处理程序,即使知道值更改,标签在运行时也不会更新。

【问题讨论】:

    标签: ios swift uitextfield uilabel completionhandler


    【解决方案1】:

    UI 元素必须在主执行线程上更新。您可以使用 GDC(Grand Central Dispatch)例程来完成此操作。所以试试这个:

    dispatch_async(dispatch_get_main_queue(), {
        nameOFLabel.text = String(calculatorInstance.updatedValue)
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      相关资源
      最近更新 更多