zoukankan      html  css  js  c++  java
  • IOS基础:NSTimer类的使用

    创建一个 Timer

    • + scheduledTimerWithTimeInterval: invocation: repeats:
    • + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti   invocation:(NSInvocation *)invocation   repeats:(BOOL)yesOrNo;
    • + scheduledTimerWithTimeInterval: target: selector: userInfo: repeats:
    • + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti   target:(id)aTarget   selector:(SEL)aSelector   userInfo:(id)userInfo   repeats:(BOOL)yesOrNo;
    • 创建返回一个新的NSTimer对象和时间表,在当前的默认模式下循环调用一个实例方法。
    • + timerWithTimeInterval: invocation: repeats:
    • + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo;
    • + timerWithTimeInterval: target:selector: userInfo:repeats:
    • + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;
    • – initWithFireDate: interval: target: selector: userInfo: repeats:
    • - (id)initWithFireDate:(NSDate *)date   interval:(NSTimeInterval)ti     target:(id)t    selector:(SEL)s    userInfo:(id)ui    repeats:(BOOL)rep;

    scheduledTimerWithTimeInterval:(NSTimeInterval)seconds  

    预订一个Timer,设置一个时间间隔。

    表示输入一个时间间隔对象,以秒为单位,一个>0的浮点类型的值,如果该值<0,系统会默认为0.1

     target:(id)aTarget

    表示发送的对象,如self

     selector:(SEL)aSelector

    方法选择器,在时间间隔内,选择调用一个实例方法

    userInfo:(id)userInfo

    此参数可以为nil,当定时器失效时,由你指定的对象保留和释放该定时器。

    repeats:(BOOL)yesOrNo

    YES时,定时器会不断循环直至失效或被释放,当NO时,定时器会循环发送一次就失效。

    invocation:(NSInvocation *)invocation

    启动 Timer

    • – fire

    停止 Timer

    • – invalidate

    Timer设置

    • – isValid
    • – fireDate
    • – setFireDate:
    • – timeInterval
    • – userInfo

    NSTimeInterval类:是一个浮点数字,用来定义秒


    例子:

    iphone为我们提供了一个很强大得时间定时器 NSTimer

    他可以完成任何定时功能:

    我们使用起来也很简单,只要记住三要素就可以,具体得三要素是:时间间隔NSTimeInterval浮点型,事件代理

    delegate和事件处理方法@selector();就可以用

    + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; 来初始化一个 时间定时器

    下面我写了一个很简单得例子

    初始化一个定时器:

    -(void)initTimer

    {

    //时间间隔

    NSTimeInterval timeInterval =1.0 ;

    //定时器

    NSTimer   showTimer = [NSTimer scheduledTimerWithTimeInterval:maxShowTime

                                                                     target:self

                                                                selector:@selector(handleMaxShowTimer:)

                                                                   userInfo:nil

                                                                    repeats:NO];

    }

    //触发事件

    -(void)handleMaxShowTimer:(NSTimer *)theTimer

    {

    NSDateFormatter dateFormator = [[NSDateFormatter alloc] init];

    dateFormator.dateFormat = @"yyyy-MM-dd  HH:mm:ss";

    NSString *date = [dateformater stringFromDate:[NSDate date]];

    if([date isEqualToString:@"2011-11-09 23:59:59"])

    {

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:TITLE_NAME

            message:@"现在马上就有新的一天了!"

           delegate:self

           ancelButtonTitle:nil

          otherButtonTitles:CONFIRM_TITLE, nil];

    [alert show];

    [alert release];

    }

    [data release];

    [dateFormator release];

  • 相关阅读:
    Node+OBS直播服务器搭建总结
    WebRTC网页录制音视频教程
    人生有尺 做人有度
    「道 德 經」 : 第 二 十 四 章
    看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水。
    「道 德 经」 : 第 八 章
    Ubuntu下安装Chrome浏览器的两个方法
    chromium中增加自己的文件夹
    chromium 切换主分支的方法
    chromium 示例
  • 原文地址:https://www.cnblogs.com/martin1009/p/2563341.html
Copyright © 2011-2022 走看看