我有一个 UISwitch,它可以在切换值时更改其上方 UILabel 的文本。每隔一段时间(大约 2% 的时间)文本不会改变。标签的文本被保存到文本文件中,因此我需要准确性。由于这个问题是间歇性的,因此很难调试。我认为主线程可能被阻塞或其他什么原因,但应用程序几乎没有使用任何资源。有任何想法吗?提前致谢!
这里是开关的 IBAction 的一些代码。
- (IBAction)type:(id)sender {
if ([sender isOn]) {
//change label
self.typeLabel.text = @"ventless";
//change property of string to be saved into text file
self.typeString = @"ventless";
}
else{
self.typeLabel.text = @"standard";
self.typeString = @"standard";
}
最佳答案
据我所知,如果您写入文件,则需要查看您如何存储此信息。根据提供的信息,一点问题都没有,但考虑到现在的 I/O 操作,不是一个庞大的事情,而是取决于有多少数据,如果你在写入之前解析它,还有更多的细节需要考虑等,可以延迟用户界面的更新。您可以随时打开仪器并检查出了什么问题,它会显示您在 I/O 操作中花费的内存量和时间。我建议使用 UnitTesting 进行测试并读/写 100 次,看看会发生什么。在这种性能情况下使用仪器是必须的,并且应该为您提供备用信息以了解您的应用中发生了什么。
关于ios - UISwitch 滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24235058/