我想要一个按钮“getcoins”来启动一个定时器然后触发一个if语句,这样如果“_ currentField”//文本字段的值大于或等于1000,则运行我编写的代码行。如果是其他任何东西,那么运行其他代码行。每次我运行此应用程序并尝试执行该操作时,它都会运行调试器并突出显示if语句的第一行。我做错了什么?
- (IBAction)getcoins:(id)sender {
[_progIndicator startAnimation:(id)sender];
[NSTimer scheduledTimerWithTimeInterval:5.0
target:self
selector:@selector(onTimer:)
userInfo:nil
repeats:YES];
}
// Timer for get coins
- (void)onTimer:(NSTimer*)aTimer {
if ([_currentField.stringValue integerValue] >= 1000)
{
[_congrats orderFront:(id)self];
[_progIndicator stopAnimation:(id)self];
}
else {
[_errormsg orderFront:(id)self];
[_progIndicator stopAnimation:(id)self];
}
}
答案 0 :(得分:0)
尝试以下方法:
- (IBAction)getcoins:(id)sender {
[_progIndicator startAnimation:(id)sender];
[NSTimer scheduledTimerWithTimeInterval:5.0
target:self
selector:@selector(onTimer)
userInfo:_nil
repeats:YES];
}
// Timer for get coins
- (void)onTimer:(NSTimer*)aTimer {
if ([_currentField.stringValue integerValue] >= 1000)
{
[_congrats orderFront:self];
[_progIndicator stopAnimation:self];
}
else {
[_errormsg orderFront:self];
[_progIndicator stopAnimation:self];
}
}