ios – 更新UILabel.text很慢

ios – 更新UILabel.text很慢,第1张

概述现在,我的视图控制器正在做一些非常简单的事情: >呼叫Web服务 >打印一个值 >将UILabel的文本值设置为该值 1& 2非常活泼.第三步需要大约10秒才能在模拟器中显示在屏幕上. switch currentTemp { case 80..<180: self.riskType.text = "Heat Index:" self.perceivedTe 现在,我的视图控制器正在做一些非常简单的事情:

>呼叫Web服务
>打印一个值
>将UILabel的文本值设置为该值

1& 2非常活泼.第三步需要大约10秒才能在模拟器中显示在屏幕上.

switch currentTemp {    case 80..<180:        self.riskType.text = "Heat Index:"        self.perceivedTemperatureValue.text = "\(currentHeatIndex)"    case -100..<50:        self.riskType.text = "Wind Chill:"        self.perceivedTemperatureValue.text = "\(currentwindChill)"    default:        self.riskType.text = "Temperature:"        println(currentTemp)        self.perceivedTemperatureValue.text = "\(currentTemp)"    }

知道为什么这么慢吗?在打印值时,是否还需要执行其他 *** 作才能使更改出现?

解决方法 您发布的代码中没有太多内容,但听起来您在Web服务回调中直接进行标签更新,这通常在后台线程上运行.所有UI工作都需要在主线程上完成,否则你将遇到这样的问题.如果是这样,使用GCD的dispatch_async在主线程上运行该switch语句将解决您的问题:

dispatch_async(dispatch_get_main_queue()) {    switch currentTemp {    case 80..<180:        self.riskType.text = "Heat Index:"        self.perceivedTemperatureValue.text = "\(currentHeatIndex)"    case -100..<50:        self.riskType.text = "Wind Chill:"        self.perceivedTemperatureValue.text = "\(currentwindChill)"    default:        self.riskType.text = "Temperature:"        println(currentTemp)        self.perceivedTemperatureValue.text = "\(currentTemp)"    }}
总结

以上是内存溢出为你收集整理的ios – 更新UILabel.text很慢全部内容,希望文章能够帮你解决ios – 更新UILabel.text很慢所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1012298.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存