我正在构建一个计算收入的应用程序,我有一个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;
}
仅供参考:每当文本字段中的值发生更改时,表中的数据都会重新加载。
答案 0 :(得分:3)
在一个语句中计算它似乎更容易,不需要循环。
if (income > 100000 && income < 121200) {
int diff = income - 100000;
personalAllowance -= diff / 2;
income -= diff;
}