美文网首页
ios RunLoop 初识

ios RunLoop 初识

作者: wp_Demo | 来源:发表于2018-12-21 16:07 被阅读0次

初识

字面意思:运行循环,程序运行过程中循环处理事情.

它的实际:

实际是一个对象,这个对象提供一个入口函数,执行这个函数后,程序会进入一个do..while循环去处理一些事情.

那么问题来了,如果程序中没有RunLoop,会发生什么?我们把main.m修改为如下:
int main(int argc, char * argv[]) {
    @autoreleasepool {
//        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
    return 0;
}
结果:程序运行的完成之后,就会马上退出,这显然不是我们希望的结果.

RunLoop的作用:

  • 保持程序的持续运行
  • 处理App中的各种事件(触摸,定时器,PerformSelector)
  • 节省cpu资源,提高程序性能

触摸:当我们在点击事件中打入断点可以看到


043A0E10-5126-4302-9A18-DDE9D4E5FB06.png

定时器:

[self performSelector:@selector(fire) withObject:nil afterDelay:1.0];

我们在fire中打入断点可以看到:


C3FF865A-5F56-4AB3-BD62-3EFDF2EC147B.png

GCD:

    dispatch_async(dispatch_get_main_queue(), ^{
        NSLog(@"%s",__func__);
    });
5DC5B2D7-2D7B-4169-A5EA-3691E94E82B8.png

相关文章

网友评论

      本文标题:ios RunLoop 初识

      本文链接:https://www.haomeiwen.com/subject/xpamkqtx.html