OGeek|极客世界-中国程序员成长平台

标题: ios - 运行 NSTimer 一定次数 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 09:46
标题: ios - 运行 NSTimer 一定次数

是否可以像这样运行 NSTimer:

NSTimer *f = [[NSTimer alloc] initWithFireDate:[NSDate date]
                                      interval:.05
                                        target:self
                                      selectorselector(checkForCollisions)
                                      userInfo:nil repeats:YES];

NSRunLoop *runner = [NSRunLoop currentRunLoop];
[runner addTimer:f forMode: NSDefaultRunLoopMode];
[f release];

但指定我希望它运行的次数?所以,如果我希望它只运行 2 秒(假设间隔为 0.05),我可以指定它运行 40 次吗?这可能吗?



Best Answer-推荐答案


YourViewController.h

NSTimer *f;
NSInteger counter;

YourViewController.m

- (void)setup {
    // initialization code
    counter = 0;
    f = [[NSTimer alloc] initWithFireDate:[NSDate date]
                                 interval:.05
                                   target:self
                                 selectorselector(checkForCollisions)
                                 userInfo:nil repeats:YES];

    NSRunLoop *runner = [NSRunLoop currentRunLoop];
    [runner addTimer:f forMode: NSDefaultRunLoopMode];
}

- (void)checkForCollisions {
    // handle check

    counter++;
    if (counter >= 40) {
        [f invalidate];
        [f release];
    }
} 

关于ios - 运行 NSTimer 一定次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116758/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4