美文网首页
NSRunloop跟NSTimer

NSRunloop跟NSTimer

作者: 紫云夕月 | 来源:发表于2016-09-07 17:24 被阅读14次

NSTimer * timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(printMessage) userInfo:nil repeats:YES];

[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

NSTimer不会开启新的进程,只是在Runloop里注册了一下,Runloop每次loop时都会检测这个timer,看是否可以触发。当 Runloop在A mode,而timer注册在B mode时就无法去检测这个timer,所以需要把NSTimer也注册到A mode,这样就可以被检测到。

在http异步通信的模块中也有可能碰到这样的问题,就是在向服务器异步获取图片数据通知主线程刷新tableView中的图片时,在tableView滚动没有停止或用户手指停留在屏幕上的时候,图片一直不会出来,可能背后也是这个runloop的mode在做怪,嘿嘿

相关文章

  • NSRunloop跟NSTimer

    NSTimer * timer = [NSTimer scheduledTimerWithTimeInterval...

  • NSTimer

    深入NSTimer(iOS)iOS 中的 NSTimer关于NSRunLoop和NSTimer的深入理解

  • runloop关系篇

    NSRunloop关系篇 1.NSRunloop 与 NSTimer .https://blog.csdn.net...

  • IOS开发中NSRunloop跟NSTimer的问题

    IOS开发中NSRunloop跟NSTimer的问题 在Windows时代,大家肯定对SendMessage,Po...

  • NSRunLoopCommonModes

    1、NSTimer需要设置为NSRunLoopCommonModes模式[[NSRunLoop currentRu...

  • NSTimer中的NSRunloop

    NSTimer与NSRunloop平时的运用 一, 简单的了解NSRunloop 从字面上看:运行循环、跑圈 其实...

  • NSTimer,NSRunLoop,autoreleasepoo

    引言 NSTimer内存泄漏真的是因为vc与timer循环引用吗?不是! 小伙伴们都知道,循环引用会造成内存泄漏,...

  • NSRunLoop和NSTimer

    一、什么是NSRunLoop NSRunLoop是消息机制的处理模式 NSRunLoop的作用在于有事情做的时候使...

  • iOS常见知识点

    1.滑动UIScrollView时不影响定时器NSTimer [[NSRunLoop mainRunLoop] a...

  • 10.NSTimer的使用笔记

    1.前言 2.定时器NSTimer的一个被添加进NSRunLoop的使用细节: 在NSTimer schedule...

网友评论

      本文标题:NSRunloop跟NSTimer

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