• 【编程技巧】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];

  • 相关阅读:
    微信企业号-上传、获取临时素材文件
    微信企业号-身份验证
    【转】android 电池(三):android电池系统
    【转】android 电池(二):android关机充电流程、充电画面显示
    【转】android 电池(一):锂电池基本原理篇
    【转】android 物理按键
    【转】android 电容屏(三):驱动调试之驱动程序分析篇
    【转】android 电容屏(二):驱动调试之基本概念篇
    【转】android 电容屏(一):电容屏基本原理篇
    名言警句
  • 原文地址:https://www.cnblogs.com/ejllen/p/3232439.html
Copyright © 2020-2023  润新知