UISwitches滞后

时间:2014-06-15 23:35:00

标签: ios objective-c uilabel uiswitch

我有一个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";
    }

1 个答案:

答案 0 :(得分:1)

据我所知,如果你写一个文件,就需要看看你如何存储这些信息。使用提供的信息,没有任何错误,但考虑当前的I / O操作,不是一件大事,而是取决于有多少数据,如果你在写之前解析它,还有更多细节要采取等等,可以延迟用户界面的更新。您可以随时打开仪器并检查出错的是什么,它会说明您在I / O操作中花费的内存量和时间。我建议使用UnitTesting进行测试并进行100次读/写,看看会发生什么。在这种情况下使用工具是必须的,应该为您提供备用信息,以便了解应用中发生的情况。