定时器

- (void)viewDidLoad {
    [super viewDidLoad];
    
    _timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeEvent:) userInfo:nil repeats:YES];
}
 
- (void)timeEvent:(NSTimer *)sender{
    NSLog(@"&sender before = %p",&sender);
    NSLog(@"sender before = %p",sender);
    [sender invalidate];
    sender = nil;
    NSLog(@"&sender after = %p",&sender);
    NSLog(@"&_timer = %p",&_timer);
    NSLog(@"sender after = %p",sender);
    NSLog(@"_timer = %p",_timer);
}
NSLog(@"sender before = %p",&sender);  这个是指针的地址
NSLog(@"sender before = %p",sender);  这个是指针指向值的地址
打印结果:
&sender before = 0x7fff5dc516f8
sender before = 0x6000003615c0
&sender after = 0x7fff5dc516f8
&_timer = 0x7ff586707d88
sender after = 0x0
_timer = 0x6000003615c0

结论:将定时器事件中参数置空,但是不能将self.timer的地址置空。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一. NSTimer NSTimer的初始化方法有以下几种: 会自动启动, 并加入* MainRunloop*的*...
    codeshow阅读 526评论 0 0
  • 定时器的的概念 一个在确定时间间隔内执行一个或者多个我们制定对象的方法的对象先抛出一个问题,如果多次执行对象的方法...
    edison0428阅读 651评论 0 1
  • 一、什么是NSTimer 官方给出解释是“A timer provides a way to perform a ...
    行走的菜谱阅读 1,183评论 0 4
  • 在现在很多app中,我们经常会看到轮播图,轮播广告等等,比如淘宝、京东商城app,他们都可以定时循环地播放广告、图...
    皮皮瑞阅读 1,738评论 0 4
  • 如果说非要在中华五千年文明中寻找一种最有代表性的物质形态,那么首先想到的一定是汉字,它不仅附着着深厚的历史文化内涵...
    车鉴阅读 1,134评论 0 0