美文网首页
iOS - 定时器

iOS - 定时器

作者: 小黑Unity_齐xc | 来源:发表于2019-01-18 19:56 被阅读5次

头文件

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController{
    //头文件里定义计时器
    NSTimer* _timer;
}

//定义定时器属性
//retain 对NSObject对象复制
//nonatomic 单线程
@property(retain, nonatomic)NSTimer* timer;
@end

源文件


#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

//属性与成员变量的映射/综合/同步
@synthesize timer = _timer;

- (void)viewDidLoad {
    [super viewDidLoad];
    
    UIButton* btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn1.frame = CGRectMake(100, 100, 100, 100);
    [btn1 setTitle:@"start timer" forState:UIControlStateNormal];
    [btn1 addTarget:self action:@selector(btn1Click) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn1];
    
    UIButton* btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn2.frame = CGRectMake(100, 220, 100, 100);
    [btn2 setTitle:@"end timer" forState:UIControlStateNormal];
    [btn2 addTarget:self action:@selector(btn2Click) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn2];
    
    [self initView];
}

-(void) initView{
    UIView* view = [[UIView alloc]init];
    view.frame = CGRectMake(0, 0, 50, 50);
    view.tag = 111;
    [view setBackgroundColor:[UIColor orangeColor]];
    [self.view addSubview:view];
    
}

-(void) btn1Click{
    NSLog(@"btn1Click");
    
    //通过NSTimer的类方法创建一个定时器
    _timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(onTimer:) userInfo:@"计时" repeats:YES];
}

int i = 0;
-(void) onTimer:(NSTimer*)timer{
    NSLog(@"onTimer %@ %d", timer.userInfo, i);
    i+=1;
    
    //UIView* view = [self.view viewWithTag:111];
    //view.frame = CGRectMake(view.frame.origin.x + 10, view.frame.origin.y +0.1f, 50, 50);
}

-(void) btn2Click{
    NSLog(@"btn2Click");
    if(_timer!=NULL){
        [_timer invalidate];
    }
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end

相关文章

  • 无标题文章

    iOS NSTimer使用详解-开启、关闭、移除 定时器定时器详解ios定时器关闭定时器NSTimer 1、要使用...

  • iOS进阶-谈谈定时器

    目录 iOS提供定时器API 定时器开发中的坑 一、 iOS提供定时器API 二、定时器开发中的坑 2.1、必须办...

  • 定时器

    定时器 兼容ios

  • iOS中的定时器

    点击这里>> cocoaChina: iOS中的定时器 iOS中定时器有三种,分别是NSTimer、CADispl...

  • GCD定时器使用

    iOS中的常用定时器分为这几类: NSTimer CADisplayLink GCD定时器 选择GCD定时器原因:...

  • iOS:NSTimer的几种创建方式

    在iOS开发中,经常会用到定时器,iOS中常用的定时器有三种:NSTimer,GCD,CADisplayLink。...

  • iOS Timer

    iOS开发中定时器经常会用到,iOS中常用的定时器有三种,分别是NSTime,CADisplayLink和GCD。...

  • 每日笔记

    1、通过safari打开网页 2、iOS的几种定时器及区别 iOS的几种定时器及区别 3、long long类型 ...

  • iOS三大定时器

    iOS开发中定时器经常会用到,iOS中常用的定时器有三种,分别是NSTime,CADisplayLink和GCD。...

  • 定时器的使用介绍

    iOS中的定时器大致分为这几类: NSTimer CADisplayLink GCD定时器 (一)NSTimer ...

网友评论

      本文标题:iOS - 定时器

      本文链接:https://www.haomeiwen.com/subject/rjqodqtx.html