gpt4 book ai didi

iphone - 几个 Obj C 问题,包括一个错误

转载 作者:行者123 更新时间:2023-11-29 04:58:01 25 4
gpt4 key购买 nike

基本上,在我放在下面的这段代码中,有几件事是我想要完成的。 1)在第一个中,我希望文本字段在按下完成后关闭,但它没有这样做。 (在其他论坛上找到该代码)。 2)在按下第一个按钮时,我希望它发送一个时间,以便在释放按钮时保存。 3)释放该按钮后,我希望它计算两个时间之间的时间以及稍后的一些其他计算。

我在这里主要遇到的问题是 NSTimeInterval 的错误。它一直告诉我 NSTimeInterval 与 NSTimeInterval 类型不兼容。那么 double 与 double 不兼容??? (我也在 .h 中使用 NSTimeInterval *timePassed 进行了尝试,只是尝试将 timePassed = 设置为它,但它也不起作用。会发生类似的错误。

#import "MphViewController.h"

@implementation MphViewController
@synthesize speed, distance;

- (BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}

-(IBAction)triggerDown:(id)sender{

timeStart = [NSDate date];

}

-(IBAction)triggerUp:(id)sender{
NSInteger *dist;
NSString *display;
NSTimeInterval *timePassed = [timeStart timeIntervalSinceNow];
if ([distance.text length]== 0) {
display = @"Please enter a distance";
}
else{
dist = atoi(distance.text);
display = [[NSString alloc] initWithFormat:@"%d MPH",dist];
}
speed.text = display;


[display release];
}

此外,如果您有机会浏览一下 else 语句。我不确定这是否有效(看到的是在我进入一段距离后我仍然无法摆脱数字键盘)。一旦计算出要显示在屏幕上的值,我想通过英里每小时。对如何在 obj c 上进行解析感到非常困惑。无论如何,感谢您的所有帮助。

至于textField部分。我分配给它的文本字段是距离。该 Bool 是否应该以不同的方式编写以在其中包含距离,或者这就是它应该编写的方式?

最佳答案

您将基本类型表示为指针,而它们并不需要如此。从 NSIntegerNSTimerInterval 声明中删除星号 (*)。 if 检查看起来不错,但不用 atoi 只需使用:

dist = [distance.text integerValue];

编辑:请注意几个内存管理问题。

1.确保正确保留/释放日期,然后在 dealloc 中释放它。

-(IBAction)triggerDown:(id)sender{
[timeStart release];
timeStart = [[NSDate alloc] init];
}

2.您的 if 语句将导致尝试释放 NSString 文字,这可能不会崩溃,但内存管理不正确。只需使用自动释放的字符串并删除 [display release];

...
else{
dist = [distance.text integerValue];
display = [NSString stringWithFormat:@"%d MPH",dist];
}
speed.text = display;
}

关于iphone - 几个 Obj C 问题,包括一个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7586413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com