我有麻烦一个小一点试图让这段代码的工作显示。我收到了一些与此代码相关的答案,但它解决了一个不同的问题。计算和标签
基本上两件事出于测试目的,我想看到这里正常工作。当我尝试显示dist时,我希望它实际获得在文本字段中输入的数字。目前我输入的东西是零。 (我将它设置为双打,因为通常可能会使用双打)。另一件事是当我把timePassed放到显示屏上而不是dist时,它会出现一个严重的数字,这应该是这两个按钮之间传递的时间量。我不知道为什么,但它通常显示一个负数,并且数字稍微偏高。任何想法或帮助总是感激。 (我试图让它们正确地显示在屏幕上,因为一旦我知道它们工作正常,我就可以将它们放入计算中并进行计算显示)。
-(IBAction)triggerDown:(id)sender{
[timeStart release];
timeStart = [[NSDate alloc] init];
}
-(IBAction)triggerUp:(id)sender{
double calc, dist;
int mph;
NSString *display;
NSTimeInterval timePassed = [timeStart timeIntervalSinceNow]*1000;
if ([distance.text length]== 0) {
display = @"Please enter a distance";
}
else{
dist = [distance.text doubleValue];
display = [[NSString alloc] initWithFormat:@"%d MPH",dist];
}
speed.text = display;
[display release];
}
只要你明白发生了什么。当按下triggerDown时,它是一个传递开始时间的按钮。然后,当同一个按钮被释放时,triggerUp按钮被调用,它应该得到两者之间传递的时间以及进行计算。 (计算尚未写入)。
谢谢。我试图得到的实际时间是毫秒。所以我应该做/ -1000或* -1000或只是* -1?至于另外一个,我会给出一个镜头。谢谢:) – steven
哦,至于另一个。如果我能把它展示出来,这并不重要。我主要担心的是,我将能够使用textfields输入将其转换为数字,以便我可以将其用于计算。它看起来会从远处获得输入并将其转换为dist中的双倍数? – steven
哦,如果你想以毫秒显示时间,那么* -1000是正确的,对不起,我不明白。在文本上调用doubleValue应该会得到数字值,是的 - 但请注意,它会很容易受到输入中的用户错误的影响,所以您可能需要考虑使用选择器控件来选择值。 – SVD