美文网首页
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