2019独角兽企业重金招聘Python工程师标准>>>

NSTimer在有大量的用户点击事件时会被阻塞

主线程的解决方式

  NSTimer *timer=[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(test:) userInfo:@"你好" repeats:YES];[[NSRunLoop mainRunLoop]addTimer:timer forMode:NSRunLoopCommonModes];-(void)test:(NSTimer *)message{NSLog(@"%@",message.userInfo);
}

子线程的解决方式

    dispatch_queue_t queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);dispatch_async(queue, ^{NSLog(@"start asynic");NSTimer *timer=[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(test) userInfo:@"你好" repeats:YES];NSRunLoop *runLoop = [NSRunLoop currentRunLoop];[runLoop run];[runLoop addTimer:timer forMode:NSDefaultRunLoopMode];});-(void)test:(NSTimer *)message{NSLog(@"%@",message.userInfo);}

转载于:https://my.oschina.net/u/2360054/blog/498648

NSTimer 的用法相关推荐

  1. nsTimer的简单用法

    //用nstimer的用法 一种用法,要手动加入到NsRunLoop中NSTimer *time= [NSTimer timerWithTimeInterval:3 target:self selec ...

  2. 使用NSTimer实现倒计时,Iphone幻灯片效果+背景音乐,

    1.使用NSTimer实现倒计时 今天在CocoaChina上面看到有人在问倒计时怎么做,记得以前在看Iphone31天的时候做过一个,今天翻出来运行不了了,原因是我的IphoneSDK升级到3.1了 ...

  3. NSTimer精准度及影响因素分析

    项目中经常会遇到需要定时循环执行某些方法的场景,例如发送短信倒计时需求,此时NSTimer就派上用场了,关于NSTimer的用法在此就不做多的解释,这里要讨论的是NSTimer真的可以准确完成定时触发 ...

  4. Foundation框架中常用类的介绍

    http://blog.csdn.net/mengtnt/article/details/6087536 Foundation框架的架构 cocoa程序编写主要用到2个框架Foundation和App ...

  5. iPhone开发部分总结

    iphone程序中实现截屏的一种方法 在iphone程序中实现截屏的一种方法: //导入头 文件 #import QuartzCore/QuartzCore.h //将整个self.view大小的图层 ...

  6. iphone开发笔记和技巧总结

    在iphone程序中实现截屏的一种方法: //导入头文件   #importQuartzCore/QuartzCore.h //将整个self.view大小的图层形式创建一张图片imageUIGrap ...

  7. ios学习--iphone开发笔记和技巧总结(原址持续更新)

    ios学习--iphone开发笔记和技巧总结(原址持续更新) 分类: ios Object-C2012-04-18 10:16 2716人阅读 评论(1) 收藏 举报 uiviewiphonelist ...

  8. 杨小麦OC之旅--RunLoopNSTimer

    6th,Dec,2015 RunLoop 运行在某个线程中的死循环,从事件队列中取出一个事件分派给监听器.多任务最基本的形式是运行循环. "应用程序由一个处于阻塞状态的 do/while循环 ...

  9. iphone开发笔记2

    1.截取屏幕图片 //创建一个基于位图的图形上下文并指定大小为CGSizeMake(200,400) UIGraphicsBeginImageContext(CGSizeMake(200,400)); ...

最新文章

  1. Android11还能自定义相机吗,安卓用户又少了一项自由,Android 11不再支持更改默认相机程序...
  2. 8 个你必须要掌握的 GitHub 实用技巧!
  3. 牛客-Forsaken喜欢独一无二的树【并查集,最小生成树】
  4. Java 8:正在运行的CompletableFuture
  5. android平台java编程规范_Android Java类编写规范+优化建议
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的洗衣店服务平台管理系统
  7. 插件占坑,四大组件动态注册前奏(二) 系统Service的启动流程
  8. X window 概念及原理图
  9. python 截图 minicap_【Python】使用minicap对安卓手机快速截屏
  10. 软件工程项目经理必备能力
  11. FFT算法实现,python,Java
  12. 微信小程序开发踩坑日志
  13. Android 没有出现menu 按键显示 解决
  14. SHELL 内置变量
  15. Ping命令出现 Packet filtered
  16. The Dominator of Strings
  17. 基于uniapp与node.js实现的微信授权登录
  18. 【功能】:前台上传文件(txt,xls,xlsx,csv,pdf)五种格式的文件 后台java解析文件,并且判断文件内容是否为零字节
  19. 这段c语言代码牛逼在哪?看得我一脸懵逼!
  20. 全网首份pyQt6飞机大战

热门文章

  1. matlab是以什么运算为基础,matlab基础运算
  2. python内存的回收机制_python的内存管理和垃圾回收机制详解
  3. ue4账号注册不了_英雄联盟手游拳头账号注册
  4. ios 图片居中裁剪_IOS图片裁剪和小图看大图动画
  5. 武魂觉醒s系列服务器,斗罗大陆武魂觉醒斗罗大陆9服开服时间表_斗罗大陆武魂觉醒新区开服预告_第一手游网手游开服表...
  6. java 如何添加背景音乐_Java程序怎样添加背景音乐?
  7. HTML五子棋人人对战源代码,五子棋C++源代码 单机 联机 人机对战 人人对战
  8. asscess 一条记录更新数据_一条MySQL更新语句是怎么执行的?
  9. NodeJs局域网开启服务
  10. android 电池小记