• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > 关于NSTimer的简单应用

关于NSTimer的简单应用

作者:sunxiaozhen94的博客 字体:[增加 减小] 来源:互联网 时间:2017-08-23

sunxiaozhen94的博客通过本文主要向大家介绍了NSTimer,ios开发等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
几句常用命令
    // 启动定时器 
          timer.fireDate = [NSDate distantPast];    
      //停止定时器 
          timer.fireDate = [NSDate distantFuture];
      // 开启 
         [time setFireDate:[NSDate  distanPast]]
      // NSTimer   关闭  
        [time  setFireDate:[NSDate  distantFunture]]
      //继续。
        [timer setFireDate:[NSDate date]]; 

一.只调用一次计时器方法:

//不重复,只调用一次。timer运行一次就会自动停止运行,这里的function:只是一个方法, 是要用到NSTimer的方法,

myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(function:) userInfo:nil repeats:NO];

二.重复调用计时器方法:

//每2秒运行一次function方法。

myTimer =  [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(function:) userInfo:nil repeats:YES];


//将定时器假如主循环中

RunLoop mainRunLoop] addTimer:_myTimer forMode:NSDefaultRunLoopMode];



//注意 : 将计数器的repeats设置为YES的时候,self的引用计数会加1。因此可能会导致self(即viewController)不能释放,所以必须在viewDidDisappear(视图将要消失)方法里,将计数器timer停止,否则可能会导致内存泄露。

三.彻底停止timer:

(这是timer永久的停止, 停止后, 一定要将timer赋空, 否则还是没有释放, 会造成不必要的内存开销)

//取消定时器  

[timer invalidate];  
timer = nil; 

四.在页面消失的时候关闭定时器,然后等页面再次打开的时候,又开启定时器

  //页面将要进入前台,开启定时器
  

-(void)viewWillAppear:(BOOL)animated  

  {  

      //开启定时器  

      [self.myTimer setFireDate:[NSDate distantPast]]; //很远的过去 
       NSLog(@"开启");

  }  

  //页面消失,进入后台不显示该页面,关闭定时器
  

 -(void)viewDidDisappear:(BOOL)animated  
{     
 //关闭定时器  
 [self.myTimer setFireDate:[NSDate distantFuture]]; //很远的将来  
   NSLog(@"移除");
   }  

**五.要想实现:先停止,然后再某种情况下再次开启运行timer,可以使用下面的方法:
首先关闭定时器不能使用上面的方法,应该使用下面的方法:**

//关闭定时器  
[myTimer setFireDate:[NSDate distantFuture]];

然后就可以使用下面的方法再此开启这个timer了:
//开启定时器  
[myTimer setFireDate:[NSDate distantPast]];
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • iOS基础控件iOS--关于使用NSTimer实现滚动条
  • iOS程序进入后台后仍运行定时器NSTimer问题
  • 关于NSTimer的简单应用

相关文章

  • 2017-06-05 xcode7提交appstore审核通过后,手机到AppStore上下载安装不了,特别是iOS8系统下载不了
  • 2017-06-05 iOS与php序列化serialize与反序列化unserialize交互
  • 2017-06-05 xcode报错:Nosuchfileordirectory
  • 2017-06-05 设置NavigationBar为全透明的时候,statusBarStyle无法设定为Light
  • 2017-06-05 TableView控件tableview滚动到底部的问题
  • 2017-06-05 快捷方式打开方式IOS界面跳转方式的异同点
  • 2017-06-05 关于xcode意外退出的问题
  • 2017-06-05 iOS隐藏navigationbar分割线,View高度减少64??
  • 2017-06-05 swift3有关View只切上圆角,下面不切圆角时,框线不见问题?
  • 2017-06-05 iOS用AVCapturePhotoOutput拍摄raw格式相片

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • iOS静态库问题
    • weexiOS关于weex的几个问题
    • iOS基础控件ios动画移动效果实现
    • 适配iOS7,给WKWebView做了一个分类,然后另外一个类有使用分类中方法,对于iOS7及以下的系统做适配,应该怎么做?
    • iOS10有没有方法检测用户关闭了应用的网络权限
    • 很多股票APP,VIP推送功能频繁更新tableview,是如何保证APP流畅度的
    • iOS多应用之间共享数据?A应用与B应用之间如何共享相同的数据?
    • scrollview上加tableview,手势冲突不自然
    • TableView控件tableview滚动到底部的问题
    • swift3Pruchse無法取得產品資訊

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有