0

我想要一个按钮“getcoins”来启动一个计时器,然后触发一个 if 语句,以便如果“_currentField”//text 字段的值大于或等于 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];

        }

    }
4

1 回答 1

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];

        }

    }
于 2012-07-15T20:33:17.580 回答