zoukankan      html  css  js  c++  java
  • IOS问题汇总:2015-1-9 NSTimer类的使用(转)

    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];
    }
    另外附一个例子:方框赛跑
    -(void)viewDidLoad
    {

    [super viewDidLoad];
    CGRect workingFrame;

    workingFrame.origin.x = 15;
    workingFrame.origin.y = 400;
    workingFrame.size.width = 40;
    workingFrame.size.height = 40;

    for(int i = 0; i < 6; i++)
    {
    UIView *myView = [[UIView alloc] initWithFrame:workingFrame];
    [myView setTag:i];//标记方块
    [myView setBackgroundColor:[UIColor blueColor]];

    workingFrame.origin.x = workingFrame.origin.x + workingFrame.size.width + 10;
    [self.view addSubview:myView];
    

    }
    }

  • 相关阅读:
    设计模式责任链模式(COR)
    设计模式享元模式(Flyweight)
    设计模式外观模式(Facade)
    设计模式桥接模式(Bridge)
    设计模式适配器(Adapter)
    设计模式解释器模式(Interpreter)
    Ext出来个3.0.1版本,不过不能免费下载了,郁闷
    150天成为JAVA高级程序员?
    Drools业务逻辑框架
    HQL中In的问题详解
  • 原文地址:https://www.cnblogs.com/hanyutong/p/4427624.html
Copyright © 2011-2022 走看看