zoukankan      html  css  js  c++  java
  • iOS开发之NSTimer

    1、NSTimer叫做“定时器”,它的作用如下

    • Ø 在指定的时间执行指定的任务
    • Ø 每隔一段时间执行指定的任务

    2、调用NSTimer下面的方法就会开启一个定时任务

    + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti          target:(id)aTarget  selector:(SEL)aSelector  userInfo:(id)userInfo

           repeats:(BOOL)yesOrNo;

    每隔ti秒,调用一次aTarget的aSelector方法,yesOrNo决定了是否重复执行这个任务

    3、通过invalidate方法可以停止定时器的工作,一旦定时器被停止了,就不能再次执行任务。只能再创建一个新的定时器才能执行新的任务

    - (void)invalidate;

    【备注】如果主线程中还有其他操作,NSTimer的scheduledTimerWithTimeInterval方法将暂停执行,当主线程中的相关操作结束后定时器操作才会继续执行。比如上方是广告轮播器(用定时器实现的图片轮播效果),下面是UITableView,当我们拖动UITableView的时候,上面广告轮播器是暂停轮播效果的,解决办法是加上下面代码,使主线程在处理其他任务的时候不暂停定时器操作:

    [[NSRunLoop mainRunLoop] addTimer:myTimer forMode:

    NSRunLoopComonModes];

  • 相关阅读:
    Hrbust-1492 盒子(二分图最大匹配)
    数据结构——二叉树的建立和遍历(递归建树&层序遍历建树)
    HDU 1710 二叉树遍历
    HDU 2891
    HDU 2895 贪心 还是 大水题
    POJ 2896 另解暴力
    POJ 2896 AC自动机 or 暴力
    HDU 1714 math
    POJ 1328 贪心
    POJ 2109 巧妙解法
  • 原文地址:https://www.cnblogs.com/lifengfneg/p/4773828.html
Copyright © 2011-2022 走看看