NSTimer和Obj-C中的触发器 [英] NSTimers and triggers in Obj-C

查看:35
本文介绍了NSTimer和Obj-C中的触发器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在viewdidload上启动NSTimer,然后以特定的间隔执行一些void函数.我该怎么做?

I want to start an NSTimer at viewdidload and then execute a few void functions at specific intervals. How do I do this?

谢谢!

推荐答案

这是您的基本模式:

MyViewController.h:

MyViewController.h:

...
@interface MyViewController : UIViewController
{
    ...
    NSTimer* timer;
    ...
}
...

MyViewController.m:

MyViewController.m:

...
static const NSTimeInterval TIMER_INTERVAL = 1.0;
...
- (void)dealloc
{
    [self stopTimer];
    ...
    [super dealloc];
}
...
- (void)viewDidLoad
{
    ...
    [self startTimer];
    ...
}
...
- (void)startTimer
{
    [self stopTimer];

    timer = [NSTimer scheduledTimerWithTimeInterval:TIMER_INTERVAL
                                             target:self
                                             selector:@selector(timerCallback)
                                             userInfo:nil
                                             repeats:YES];
    [timer retain];
}
...
- (void)stopTimer
{
    if (timer)
    {
        [timer invalidate];
        [timer release];
        timer = nil;
    }
}
...
- (void)timerCallback
{
    someFunction();
    [self someMethod];
}

这篇关于NSTimer和Obj-C中的触发器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆