我正在为iPhone构建一个基本的计算器应用程序。我已经掌握了所有基础知识,但我现在只是调整它。目前,如果我按下一个数字,然后按操作,然后按另一个数字并按下=,则显示结果。我想要的是当我按下一个数字然后进行操作时,我希望操作显示在屏幕上。所以这就是我所拥有的:
NSString *operation=[[sender titleLabel] text];
[display setText:operation];
double result=[[self brain] performOperation:operation];
[display setText:[NSString stringWithFormat:@"%g",result]];
所以这段代码只显示最后一行,而不是操作。但是,如果我注释掉最后一行,则会显示操作。所以我想在调用第二个setText之前是否可以让时间过去,这样可以解决我的问题 - 除非有另一种方式?
答案 0 :(得分:3)
当然,您正在使用第二次setText:
调用重写显示。
为什么不使用:
[display setText:[NSString stringWithFormat:@"%@%g", operation, result]]
答案 1 :(得分:0)
您可以使用performSelector:withObject:afterDelay
[self performSelector:@selector(...) withObject:nil afterDelay:1];