- 我的程序有效
- 使用 CocoaAsyncSocket (TCP) 发送字节
- 得到响应(字节数据)
- 将字节数组更改为有效数据(int/nsstring/etc)
- 用它更改标签文本(第 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/