iOS 标签不使用 Swift 中的函数更新文本[重复]

2023-11-22

这个看似简单的问题让我发疯......我正在使用 SwiftyJSON 来获取远程数据,这是我在 Swift 中的 ViewController 类的片段:

override func viewDidLoad() {
    super.viewDidLoad()

    self.statusLabel.text = "welcome"

    RemoteDataManager.getStatusUpdateFromURL { (statusData) -> Void in
        let json = JSON(data: statusData)
        self.statusLabel.text = "this does not work"
        self.statusLabel.text = self.getMostRecentStatusUpdate(json) // also does not work
    }

}

statusLabel 文本设置为“welcome”,但之后不会更改。有趣的是,我放进去的任何东西func getMostRecentStatusUpdate(_:) with println()正确地打印到控制台,即使它来自远程 json 源(即我知道这个函数可以工作)。我的问题是我无法将文本打印到 UILabel 而不是控制台。我没有收到任何错误消息。

我还不太熟悉像这样的 Swift 函数MyClass.myMethod { (myData) -> Void in .... }我不明白这里出了什么问题。有任何想法吗?


UIKit不是线程安全的,只能从主线程更新。下载是在后台线程上完成的,您无法从那里更新 UI。尝试:

override func viewDidLoad() {
    super.viewDidLoad()

    self.statusLabel.text = "welcome"

    RemoteDataManager.getStatusUpdateFromURL { (statusData) -> Void in
        let json = JSON(data: statusData)

        dispatch_async(dispatch_get_main_queue()) {
            self.statusLabel.text = "this does not work"
            self.statusLabel.text = self.getMostRecentStatusUpdate(json) // also does not work
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 标签不使用 Swift 中的函数更新文本[重复] 的相关文章

随机推荐

  • “指向未初始化的字节”Valgrind 错误

    我一直在使用Valgrind在我的代码中查找内存泄漏 虽然没有发现内存泄漏 但报告了一些错误 所有这些错误都源自单个函数 类方法 17043 ERROR SUMMARY 10100 errors from 3 contexts suppre
  • 让 Github 在收到更新时推送到远程服务器

    让 Github 自动将任何更新推送到远程服务器的设置是什么 这对于维护 Github 上的代码库以及让网站运行该代码库非常有用 我的存储库位于我自己的计算机上 这就是我工作的地方 我将更改提交到本地存储库 并将它们推送到我的 Github
  • 什么是堆中的类型对象

    我知道当在堆中创建对象时 它们还有额外的两个字段 同步块索引 类型对象指针 所以我想知道Type Object是什么时候在Heap内存中创建的以及它保存什么样的数据 它只代表Type的元数据 我还没有找到更多关于这方面的细节 Type 对象
  • ASP MVC3 在actionlink中插入html标签

    我是 ASP MVC3 的新手 我正在使用 Razor 引擎 我的问题是我已经以表单构建了主导航
  • 如何获得行排名?

    HI 我昨天实际上发布了类似 或相同 的问题 但我认为我需要发布一个新问题 因为我有简短但明确的问题 我有下表 id point 1 30 2 30 3 29 4 27 5 28 6 26 我想要的是 获取所有用户按排名排序 用户 1 和
  • 多个 OpenGL 视图 (Cocos2D)

    Note 任何可以帮助我正确解决这个问题的人都会得到100点赏金 在我的应用程序中 我将 UIKit 与 Cocos2D 混合在一起 我使用 addSubview 和 removeFromSuperview 调用做了一些简单的自定义视图动画
  • 在 scalatest 中用什么代替符号?

    在 scalatest 中 您应该能够使用如下符号测试布尔属性 iter shouldBe traversableAgain 但这种表示法在最新版本的 scala 中已被弃用 所以现在你应该这样写 iter shouldBe Symbol
  • 对硬盘中的大量整数进行排序

    给定硬盘上 100 GB 整数数据 RAM 为 2 GB 如何以最少的磁盘操作对整数进行排序 这里从磁盘获取一个数字被视为一次磁盘操作 尽管实际上可以获取一块数据 我们可以使用磁盘上的额外空间进行临时存储 而不需要考虑清理已使用的临时空间的
  • Hibernate 显示真实的 SQL [重复]

    这个问题在这里已经有答案了 if I set
  • 如何配置 MVC6 应用程序以在 IIS 上运行?

    因此 我正在 Visual Studio 2015 中构建一个 MVC6 应用程序 并已设法解决大部分问题 但是 我尚未解决部署问题 在 MVC4 我之前使用的 中 我们的流程 发布到一个文件夹 然后在 IIS 中设置网站 右键单击Site
  • 在 python 中模拟传值行为

    我想模拟 python 中的按值传递行为 换句话说 我想绝对确保我编写的函数不会修改用户提供的数据 一种可能的方法是使用深复制 from copy import deepcopy def f data data deepcopy data
  • 线性布局和相对布局有什么区别?

    线性布局和相对布局有什么区别 LINEAR LAYOUT 在线性布局中 顾名思义 所有元素都是 以线性方式显示 水平或垂直 此行为设置为 android orientation 这是节点的一个属性 线性布局 线性布局将每个子元素一个接一个地
  • 如何在Python中使用react.js和Selenium从网页中抓取数据?

    我在抓取使用的网站时遇到一些困难react js并且不知道为什么会发生这种情况 This is the html of the website 我想做的是点击带有class play pause button btn btn naked 但
  • Wordpress 中的永久链接 - 找不到页面

    我已经搜索了几个小时 但没有找到任何似乎能够解决这个问题的东西 这是场景 我正在制作一个基于 二十一 主题的wp主题 一切都很顺利 直到我决定将网址更改为永久链接 唯一显示的页面是我之前定义的静态页面 我已经设置了 htaccess 文件
  • 关于 chomp 的澄清

    我现在正在放课 决定花时间学习 Perl 我正在使用 Beginning Perl http www perl org books beginning perl 我正在完成第三章末尾的练习 其中一项练习要求我 将重要的电话号码存储在哈希中
  • 如何使用 FontForge 从字体中删除连字

    我的字体有一些连字错误 这导致了问题我的安卓应用程序 我只想删除连字 我该如何在 FontForge 中做到这一点 这个问题是相关的 但它是相反的 Fontforge 脚本如何为字形添加连字 In 字体锻造 go to 元素 gt 字体信息
  • C# 中的图像调整大小 - 确定调整尺寸(高度和宽度)的算法

    我需要缩小高度或宽度大于预定义像素值的图像 我编写了一些代码来查看原始图像 检查宽度 高度或高度和宽度是否大于最大宽度 最大高度设置 我现在需要根据后一个值的最大值找出要调整大小的尺寸 例如 如果图像是900h x 300w最大高度是700
  • JavaScript 数字自相等[重复]

    这个问题在这里已经有答案了 我最近遇到了以下代码 function baseClamp number lower upper if number number if upper undefined number number lt uppe
  • Ruby - 优雅地比较两个枚举器

    我有来自 Ruby 1 9 2 中两个不同来源 二进制数据 的两个长数字流 这两个源被封装成两个形式枚举器 我想检查两个流是否完全相等 我提出了几个解决方案 但两者看起来都很不优雅 第一个只是将两者转换为数组 def equal strea
  • iOS 标签不使用 Swift 中的函数更新文本[重复]

    这个问题在这里已经有答案了 这个看似简单的问题让我发疯 我正在使用 SwiftyJSON 来获取远程数据 这是我在 Swift 中的 ViewController 类的片段 override func viewDidLoad super v