iphone - 加快 iOS 中的标签文本更改

标签 iphone ios tcp nsstring

  • 我的程序有效
    1. 使用 CocoaAsyncSocket (TCP) 发送字节
    2. 得到响应(字节数据)
    3. 将字节数组更改为有效数据(int/nsstring/etc)
    4. 用它更改标签文本(第 3 步)

我放了一个 NSLog 并观看了。日志显示速度几乎很快,我的功能(更改标签文本)运行良好。但是,我可以在大约 4 到 5 秒后在模拟器上看到更改标签的文本,然后调用函数。

我的第一种方式是这样

  • 获取字节数组 - 拆分为 nsdata - 更改为 nsstring - 输入数组 - 获取字符串 - 添加子字符串(如 '000%' 或 '000 sec') - 更改标签文本

第二个是

  • 得到一个字节数组 - 拆分 - 更改为 nsstring - 调用一个函数(添加子字符串 - 更改标签文本)

嗯...我怎样才能提高它的变化速度?

最佳答案

更改标签文本应该“几乎立即”发生,如果需要这么长时间,通常是因为没有在主线程上更新标签文本。它是一个 UIKit 对象,因此只能在主线程上修改它。

使用:

dispatch_async(dispatch_get_main_queue(), ^{
    self.label.text = myString;
});

关于iphone - 加快 iOS 中的标签文本更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14700152/

相关文章:

iPhone 移动应用程序和投票/Web 服务

iphone - 使用链接将 ~ipad 资源指向 @2x 资源

android - 应用程序开发

ios - 请将嵌入式目标的主机目标添加到 Podfile

go - 使用 Go 的接收和发送 TCP 客户端

iphone - 对核心数据对象使用与私有(private)框架对象相同的名称

ios - 如何在 swift 中仅使用一个 ViewController 将数据从一个 UIView 传递到另一个 UIView?

objective-c - UIImageView 中的 UILabel 文本被截断

java - 数据传输无法使用 ObjectOutputStream.writeObject()

c++ - SOCK_DGRAM 和 SOCK_STREAM 是什么?