• NSTimer


    原文 http://www.cnblogs.com/wujian1360/archive/2011/09/05/2167992.html

    创建一个 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];

    }

  • 相关阅读:
    win11 千呼万唤 原生安卓体验及安装方法
    (转)pytorch和torch框架对比(区别 联系)
    AI深度学习部分框架了解
    有趣的USB接口和颜色分类
    后疫情时代读《浪潮之巅》第四版 读书笔记
    关于win11 VBS(基于虚拟化的安全性) 相关研究中
    Windows IPsec IP安全策略
    Element ui复杂表格(多级表头、尾行求合、单元格合并)前端导出excel
    es的常用字段类型和查询
    oom常见的解决方式
  • 原文地址:https://www.cnblogs.com/SimonGao/p/4531205.html
Copyright © 2020-2023  润新知