定时器对象,在OC中,定时器对象是NSTimer类型

//ViewController.h
#import <UIKit/UIKit>
@interface ViewController: UIViewController
{NSTimer *_timer;  // 声明一个定时器对象int _time_num;
}
//ViewController.m
#import "ViewController.h"
@implementation
- (void) viewDidLoad{[super viewDidLoad];[self startTimer];
}
- (void) startTimer{_time_num = 0;// 启动一个循环定时器,间隔为1秒_timer = [NSTimer scheduledTimerWithTimerInterval:1  target:self  selector:@selector(addTimeNum) userInfo:100  repeats: YES];
}
//接受参数
- (void) addTimeNum:(NSTimer *)timer {_time_num += 1;NSSLog(@"time_num = %s",  _time_num);// 大于参数指定的值,清除定时器if (timer.userInfo > _time_num) {[_timer invalidate];}
}
@end

定时移动视图案列

//ViewController.m
#import "ViewController.h"
@implementation
- (void) viewDidLoad{[super viewDidLoad];[self startTimer];
}
- (void) createdView{UIView *view = [[UIView alloc] init];view.frame = CGRectMake(0, 0, 100, 100);view.backgroundColor = [UIColor greenColor];view.tag = 101 //设置ID,便于直接捕捉操作[self.view addSubView: view];
}
- (void) startTimer{_time_num = 0;// 启动一个循环定时器,间隔为1秒_timer = [NSTimer scheduledTimerWithTimerInterval:1  target:self  selector:@selector(addTimeNum) userInfo:100  repeats: YES];
}
//接受参数
- (void) addTimeNum:(NSTimer *)timer {_time_num += 1;UIView *view = [self.view viewWithTag: 101];view.frame = CGRectMake(_time_num, _time_num, view.frame.origin.width, view.frame.origin.height);// 大于参数指定的值,清除定时器if (timer.userInfo > _time_num) {[_timer invalidate];}
}
@end

API

  • List item - (NSTimer*) scheduledTimerWithTimerInterval:int target:id selector:@selector userInfo:id repeats: BOOL 创建并返回一个定时器,参数1表示定时器执行间隔,单位秒。target参数表示事件函数实现对象的指针。 selector 表示事件函数。 userInfo表示传入事件函数的参数,不需要参数则传nil。repeats参数表示是否重复执行,YES或NO
  • - (void) invalidate 清除定时器

IOS 定时器 NSTimer相关推荐

  1. iOS定时器-- NSTimer 和CADisplaylink

    iOS定时器-- NSTimer 和CADisplaylink 一.iOS中有两种不同的定时器: 1.  NSTimer(时间间隔可以任意设定,最小0.1ms)// If seconds is les ...

  2. iOS开发 NSTimer定时器

    目录 前言 NSTimer是什么 NSTimer怎么使用 创建NSTimer 触发NSTimer 销毁NSTimer NSTimer与runloop NSTimer与performSelector:w ...

  3. iOS中定时器NSTimer的开启与关闭

    调用一次计时器方法: [cpp] view plain copy   myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self ...

  4. iOS中定时器NSTimer的使用

    1.初始化 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelect ...

  5. ios nstimer实现延时_iOS中定时器NSTimer的使用

    1.初始化 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelect ...

  6. IOS中定时器NSTimer

    调用一次计时器方法: [cpp]  view plain copy   myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:sel ...

  7. iOS之 NSTimer(一)

    以前没怎么了解过这个NSTimer,其实还是有挺多坑的,今天来总结一下: 首先我们一起来看这个: 我在A  -> (push) -> B控制器,然后再B控制器中开启了一个NSTimer.然 ...

  8. IOS 计时器 NSTimer

    1.初始化 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelect ...

  9. 关于jquery定时器设置问题 ios定时器无法响应问题 ios 时间显示为NaN问题 优惠时间倒计时

    设计时间为:"2019-12-17"发现安卓端和浏览器端,浏览器模拟器显示均没问题,但是ios 手机显示为NaN 解决办法 :把"2019-12-17"改为&q ...

最新文章

  1. Hadoop集群的NameNode的备份
  2. mysql seq 重置_需要在Oracle中重置序列的值
  3. 数据库中的范式和反范式详解!
  4. 微服务怎么部署到服务器的_浅谈微服务部署方案
  5. leetcode 433. Minimum Genetic Mutation | 433. 最小基因变化(图的DFS)
  6. SpringBoot Redis分布式锁
  7. java 类似datatable_在java中实现类似于.net中的DataTable,请各位看看,这种方法可行吗?...
  8. 【Hive】Hive的三种交互方式
  9. 360压缩电脑版_震惊!360竟然出了一款这么良心的软件
  10. 这15个Java多线程面试题及回答你确定不来看看!
  11. Python 办公自动化之 PDF 的详细操作(全)
  12. PyKeyBoardFairy可以替代你游戏中的卡键盘和鼠标宏
  13. 电力拖动自动控制系统_电气工程及其自动化为什么这么火!原因有这些,建议收藏...
  14. 计算机中硬盘隐藏,如何隐藏电脑硬盘盘符,保护个人隐私 | 我爱分享网
  15. chrome自动代理检测(这玩意并没什么用,还会影响你访问某些网页)
  16. 修复ASUS in WinRE教程
  17. 手机号与邮箱正则表达式
  18. pytorch的DP和DDP
  19. 品Spring:bean定义上梁山
  20. 公众号(服务号)模板消息(个人通知)开发方案

热门文章

  1. oracle其他盘添加表空间吗,oracle增加表空间的四种方法
  2. wampserver php扩展openssl 不可用_PHP基础及WAMP集成基础
  3. mysql架设_主从mysql架设
  4. sqoop mysql parquet_Sqoop抽取Hive Parquet表数据到MySQL异常分析
  5. Windows11电脑锁屏快捷键是什么
  6. 如何打造高大上的微信朋友圈 打造微信高逼格朋友圈教程
  7. 浏览器与JavaScript(一)
  8. 打开数据库_打开这份指南,数据库运维也能优雅、简单!
  9. java.util.concurrent.TimeUnit
  10. Mybatis源码分析之(七)Mybatis一级缓存和二级缓存的实现