详细示例代码github仓库总结:NIiOS
##### (二十) iOS RunLoop
```
Runloop
RunLoop的应用
- [x] 常驻线程
NSTimer
- [x] 1. 定时器的使用
- [x] 2. 滑动时失效
- [x] 3. 不准时
- [x] AutoreleasePool
- [x] 事件响应
- [x] 手势识别
- [x] 界面更新
PerformSelecter
// 1.和RunLoop不相干,底层直接调用objc_sendMsg方法
- [x] (id)performSelector:(SEL)aSelector withObject:(id)object;
// 2. 和RunLoop相关,封装成Source0事件,依赖于RunLoop,若线程无对应的RunLoop,会调用objc_sendMsg执行
- [x] (void)performSelectorOnMainThread:(SEL)aSelector withObject:(nullable id)arg waitUntilDone:(BOOL)wait;
// 3. 和RunLoop相关,封装成Timers事件
- [x] (void)performSelector:(SEL)aSelector withObject:(nullable