NSRunLoop类声明的编程接口用于管理输入源对象。一个NSRunLoop对象处理像来自窗体系统中的鼠标和键盘事件,NSPORT对象和NSConnection连接对象这类的输入源。一个NSRunLoop对象也处理的NSTimer事件。 你的应用程序不能建立或明白管理NSRunLoop对象。每一个N ...
分类:
其他好文 时间:
2019-04-07 09:58:16
阅读次数:
445
通常情况下,一个线程执行完一个任务,就会退出并销毁。等到需要处理下一个任务时,又得重新创建一个线程。但是很多时候,这并不是我们想要的结果。例如, 1、当任务小而多时,频繁地创建和销毁线程,会带来不小的代价。 2、iOS/OSX应用的主线程要是退出了,整个应用就挂了。 因此,需要一种能让线程不退出的机 ...
分类:
其他好文 时间:
2019-01-15 20:32:04
阅读次数:
215
本文列举了四种延时执行某函数的方法及其一些区别。假如延时1秒时间执行下面的方法。 1.performSelector方法 2.定时器:NSTimer 3. sleep方式 4.GCD方式 1. 延时方法一(使用NSRunLoop类中的方法实现延迟执行,,常用,,performSelector必须在主 ...
分类:
移动开发 时间:
2018-04-18 23:36:07
阅读次数:
260
1、NSRunloop https://www.jianshu.com/p/296f182c8faa 2、编程代码规范 http://blog.csdn.net/qs_csu/article/details/53899236 3、Instruments简单使用方法介绍 https://www.jia ...
分类:
其他好文 时间:
2018-01-17 12:32:07
阅读次数:
136
什么是Runloop Runloop即运行循环。为什么你的APP放在那里不去动它,在某个时间点去操作它,它还会给你反馈。就是因为Runloop的存在。 总结一下,因为Runloop的存在,保证你的程序不会死。 主要负责什么? 使程序一直运行并接受用户输入 决定程序在何时处理一些Event 调用解耦( ...
分类:
移动开发 时间:
2017-12-12 17:50:53
阅读次数:
271
每条线程都有唯一的一个RunLoop对象与之对应的 主线程的RunLoop是自动创建并启动 子线程的RunLoop需要手动创建 子线程的RunLoop创建步骤如下: 在子线程中调用[NSRunLoop currentRunLoop]创建RunLoop对象(懒加载,只创建一次) 获得RunLoop对象 ...
分类:
编程语言 时间:
2017-09-22 13:06:48
阅读次数:
259
1.下载文件 和进度条处理代码 2.进度条代码 写在另一个View中 帖出如下 弹出view代码 (2)DownloadView.m ...
分类:
Web程序 时间:
2017-08-31 17:54:41
阅读次数:
230
一、GCD Timer的创建和安放 尽管GCD Timer并不依赖于NSRunLoop,可是有没有可能在某种情况下,GCD Timer也失效了?就好比一開始我们也不知道NSTimer相应着一个runloop的某种mode。 先来看看GCD Timer的用法: dispatch_source_t ti ...
分类:
其他好文 时间:
2017-08-20 13:34:34
阅读次数:
308
1、NSTimer的创建 // 创建一个定时器,但是么有添加到运行循环,我们需要在创建定时器后手动的调用 NSRunLoop 对象的 addTimer:forMode: 方法。 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti invocat ...
分类:
其他好文 时间:
2017-07-27 00:58:39
阅读次数:
253
主线程中创建一个NSURLConnection并异步运行 [self performSelectorOnMainThread:@selector(start) withObject:nil waitUntilDone:YES]; - (void)start { //step 1:请求地址 NSURL ...
分类:
Web程序 时间:
2017-05-28 19:38:38
阅读次数:
199