当前位置: 首页 > 面试题库 >

快速更新标签(带有HTML内容)需要1分钟

连坚白
2023-03-14
问题内容

我遇到了一个小问题,让我从代码开始

class ViewController: UIViewController {

@IBOutlet weak var LBoutput: UILabel!
@IBAction func BTclick(sender: AnyObject) {
    var url = NSURL(string: "http://google.com")
    println("test0")
    let getdata = NSURLSession.sharedSession().dataTaskWithURL(url){(data ,response , error) in
        var htmlContent = NSString(data: data, encoding: NSUTF8StringEncoding)
        println("test1")
        println("test2")
        self.LBoutput.text = "test6"
    }
    println("test3")
    getdata.resume()
    println("test4")
    LBoutput.text = "test5"

}

这段代码给了我控制台的输出

test0
test3
test4
test1
test2


标签也将立即更新为“ test5”,但标签将更新为“ test6”大约需要30秒。

我不知道为什么要花这么长时间,有人知道吗?


问题答案:

在辅助线程中更新UI的常见问题:

由于URL任务是异步的,因此您的关闭显然不在主线程上运行。因此,更新闭包上的标签将必须等待主线程运行其更新循环。修复此问题的方法是包装.text =调用以使其强制在主线程上运行(无论如何,UI线程应在该线程上运行):

        dispatch_async(dispatch_get_main_queue()) {
            self.LBoutput.text = "test6"
        }


 类似资料:
  • 本文向大家介绍1分钟快速生成用于网页内容提取的xslt,包括了1分钟快速生成用于网页内容提取的xslt的使用技巧和注意事项,需要的朋友参考一下 1分钟快速生成用于网页内容提取的xslt,具体内容如下 1、项目背景 在《Python即时网络爬虫项目说明》一文我们说过要做一个通用的网络爬虫,而且能节省程序员大半的时间,而焦点问题就是提取器使用的抓取规则需要快速生成。在python使用xslt提取网页数

  • 问题内容: 我从数据库获取数据并将其显示在div中…我要做的是单击链接时应更改div的内容 一种选择是通过URL将参数传递给自身并重新加载页面… 我需要这样做而 无需重新加载\刷新 … 目的是当我单击任何链接时,div和php变量的内容无需刷新即可更新....这样 用户可以看到新数据 ,然后如果执行某些查询,它将在新变量上 ps我知道它将需要一些AJAX,但我不知道AJAX ..所以请以我可以学习

  • 本文向大家介绍Java 语言实现清除带 html 标签的内容方法,包括了Java 语言实现清除带 html 标签的内容方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇Java 语言实现清除带 html 标签的内容方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我正在使用HTML Purifier(http://htmlpurifier.org/) 我只想删除标签。我不想删除内联格式或任何其他内容。 我该如何实现? 还有一件事,它还有其他方法可以从HTML删除脚本标签 问题答案: 因为这个问题是用正则表达式标记的,所以在这种情况下,我将用穷人的解决方案来回答: 但是,正则表达式不是用于解析HTML / XML的,即使您编写了一个 完美的 表达

  • 问题内容: 我开发了一个使用GoogleMap的应用程序。我刚刚在Eclipse中更新了Android插件(带有Android L库),并重新导入了GooglePlayService库等。 因此,我重新编译后,在手机(4.4.2中的Sony Xperia Z),GenyMotion Emulator(4.4.2),Nexus 7(4.4.2)上都可以正常工作。但是,它不能在两个Samsung Ga