本文主要是介绍什么是NSTimer,具体使用请参考上一篇博客。

1.什么是NSTimer?   NSTimer就是timer就是一个能在从现在开始的后面的某一个时刻或者周期性的执行我们指定的方法的对象。

2.NSTimer会不会造成内存泄漏?    从官方给出的解释我们得出timer会在未来的某个时刻执行一次或者多次程序指定的方法,那如何保证timer在未来的某个时刻触发指定事件的时候,我们指定的方法是有效的呢?   其实系统会在定时器的方法接收者retain一次。不管是一次性的还是周期性的定时器都会对它的方法的接收者进行retain,区别就在于一次性的定时器在完成调用以后会自我invalidate,而周期性的定时器需要你手动调用invalidate方法,否则它是永远存在的。

3.NSTimer是每次都会准时触发的吗?如果在其实进行了其他延时性操作会怎么样?   答案是否定的,NSTimer并不会每次都那么准时触发,它并不是那么精确。NSTimer不是一个实时系统,不管是一次的还是周期性的定时器都会有时间出入。   那在定时器执行期间,插入了一个延迟性的操作,会怎么样呢?比如我添加了一个定时器,2秒钟触发一次事件,但我在定时器执行期间加入一个很大的数据处理模块,需要大于2秒钟。在这种情况下,定时器就会延迟到该处理模块执行完以后才会执行。并且在一个周期内只会触发一次,通俗的讲,但是不管该定时器的触发时间延迟的有多离谱,数据处理模块执行完毕后,定时器只会紧接着触发一次,并不会因为数据处理模块用了6秒钟,定时器就连着触发3次。   定时器并不是一种实时的机制,它会存在延迟。

什么是NSTimer的更多相关文章

  1. Objective-C三种定时器CADisplayLink / NSTimer / GCD的使用

    OC中的三种定时器:CADisplayLink.NSTimer.GCD 我们先来看看CADiskplayLink, 点进头文件里面看看, 用注释来说明下 @interface CADisplayLin ...

  2. 解决NSTimer存在的内存泄漏的问题

    创建定时器会在一定的间隔后执行某些操作,一般大家会这样创建定时器,这样创建的定时,self对定时器有个引用,定时器对self也有个引用,造成了循环引用,最终造成了内存泄漏,如果定时器在做下载的操作就会 ...

  3. NSTimer

    NSTimer叫做“定时器”,它的作用如下 在指定的时间执行指定的任务 每隔一段时间执行指定的任务 调用下面的方法就会开启一个定时任务 + (NSTimer *)scheduledTimerWithT ...

  4. NSTimer整理总结

    对于定时器NSTimer,我们大家都不会陌生,在使用的时候,我们常常会遇到一些坑,例如:在Scrollview拖动时,timer会暂停:在子线程中如何创建一个定时器等.针对于一些我们所遇到的坑,我来总 ...

  5. ios - NSTimer中target的self是强引用问题

    当控制器ViewController跳转进入控制器OneViewController中的时候开启定时器,让定时器每隔一段时间打印一次,当OneViewController dismiss的时候,控制器 ...

  6. ios基础篇(二十三)—— 定时器NSTimer与图片的自动切换

    一.NSTimer NSTimer是一个能在从现在开始到后面的某一个时刻或者周期性的执行我们指定的方法的对象.可以按照一定的时间间隔,将制定的信息发送给目标对象.并更新某个对象的行为.你可以选择在未来 ...

  7. NSTimer “定时器”

    •NSTimer叫做“定时器”,它的作用如下 Ø在指定的时间执行指定的任务 Ø每隔一段时间执行指定的任务 Ø •调用下面的方法就会开启一个定时任务 + (NSTimer *)scheduledTime ...

  8. IOS OC 多任务定时器 NSRunLoop 管理 NSTimer

    下面有两种做法 1.使用日期组件 NSDateComponents 2.使用NSString 生成一个日期 //  创建一个日历对象 NSCalendar *calendar = [NSCalenda ...

  9. iOS NSTimer使用详解 开启、关闭、移除

    定时器定时器详解ios定时器关闭定时器NSTimer 一,要使用一个定时器首先要定义一个定时器: @property (strong, nonatomic) NSTimer *myTimer;//定时 ...

  10. NSTimer的使用[zhuang]

    NSTimer 的头文件 /* NSTimer.h Copyright (c) 1994-2015, Apple Inc. All rights reserved. */ #import <Fo ...

随机推荐

  1. 跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量

    跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量 This example program demonstrates the basic usage of a measure object. ...

  2. 【CSS3】Advanced7:CSS Transitions

    1.animate parts of your design without the need for the likes of JavaScrip 2.allowing smooth animati ...

  3. 【CSS3】Advanced4:Advanced Colors

    1.rgba(red,green,blue,alpha(不透明度0.0(完全透明)与 1.0(完全不透明)) 2.HSLa(hue(色调 0red 120green 240blue),saturati ...

  4. lru cache java

    http://www.acmerblog.com/leetcode-lru-cache-lru-5745.html acm之家的讲解是在是好,丰富 import java.util.LinkedHas ...

  5. sqlplus中常用设置参数

    一.各种设置参数解释 转自http://baike.baidu.com/view/1239908.htm Sql*plus是一个最常用的工具,具有很强的功能,主要有: 1. 数据库的维护,如启动,关闭 ...

  6. CSS書寫規範及CSS Hack

    基本原则: CSS样式可细分为3类:自定义样式.重新定义HTML样式.链接状态样式. 样式为设计师自定义的新 CSS 样式,影响被使用本样式的区域,用于完成网页中局部的样式设定. 样式名 “.”+“相 ...

  7. HDOJ-ACM1012(JAVA)

    这道题很简单,主要是弄懂题意和注意输出: 输出的完整结果如下: n e - ----------- 0 1 1 2 2 2.5 3 2.666666667 4 2.708333333 5 2.7166 ...

  8. What's the difference between all the Selection Segues

    relationship -A "relationship" segue is the segue between a container view controller and ...

  9. 使用ndk standalone工具链来编译某个平台下的库

    地址: http://www.kandroid.org/ndk/docs/STANDALONE-TOOLCHAIN.html It is now possible to use the toolcha ...

  10. nyoj 456 邮票分你一半

    邮票分你一半 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述      小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明.每张邮票上都有分值,他们想把这些邮票分 ...