For Loop减慢了我的应用程序

时间:2015-07-05 12:04:56

标签: objective-c for-loop

我正在构建一个计算收入的应用程序,我有一个for循环来检查收入是否在100,000和之间。 121,200如果是这样,它将收入减少2并将personalAllowance值减1,直到收入从原始收入值达到100,000。

它工作正常并输出结果,但它会停止我的应用程序,直到for循环运行完毕。

数据显示在表格中,并且有一个文本框用于输入收入。只要您输入100,000到121,000之间的收入值,就会发生任何事情,直到for循环运行并且表格中的值更新需要几秒钟。

无论如何解决这个问题?提前致谢

personalAllowance = 10600;

if (income > 100000 && income < 121200) {
    for (income = income; income > 100000; income -= 2) {
        personalAllowance -= 1;
        NSLog(@"income: %.2f", income);
        NSLog(@"pa: %.2f", personalAllowance);
    }
} else if (income >= 121200) {
    personalAllowance = 0.00;
}

仅供参考:每当文本字段中的值发生更改时,表中的数据都会重新加载。

1 个答案:

答案 0 :(得分:3)

在一个语句中计算它似乎更容易,不需要循环。

if (income > 100000 && income < 121200) {
   int diff = income - 100000;
   personalAllowance -= diff / 2;
   income -= diff;
}
相关问题