iPhone在执行行之前让时间过去了

时间:2010-12-23 21:16:05

标签: iphone objective-c

我正在为iPhone构建一个基本的计算器应用程序。我已经掌握了所有基础知识,但我现在只是调整它。目前,如果我按下一个数字,然后按操作,然后按另一个数字并按下=,则显示结果。我想要的是当我按下一个数字然后进行操作时,我希望操作显示在屏幕上。所以这就是我所拥有的:

    NSString *operation=[[sender titleLabel] text];
    [display setText:operation];
    double result=[[self brain] performOperation:operation];
    [display setText:[NSString stringWithFormat:@"%g",result]];

所以这段代码只显示最后一行,而不是操作。但是,如果我注释掉最后一行,则会显示操作。所以我想在调用第二个setText之前是否可以让时间过去,这样可以解决我的问题 - 除非有另一种方式?

2 个答案:

答案 0 :(得分:3)

当然,您正在使用第二次setText:调用重写显示。 为什么不使用:

[display setText:[NSString stringWithFormat:@"%@%g", operation, result]]

答案 1 :(得分:0)

您可以使用performSelector:withObject:afterDelay

[self performSelector:@selector(...) withObject:nil afterDelay:1];