美文网首页
dispatch_once

dispatch_once

作者: iOS扫地僧 | 来源:发表于2018-03-02 11:09 被阅读0次

    使用dispatch_once函数能保证某段代码在程序运行过程中只被执行1次

    static dispatch_once_t onceToken;
    
    dispatch_once(&onceToken, ^{
        // 只执行1次的代码(这里面默认是线程安全的)
    });
    

    整个程序运行过程中,只会执行一次。

    代码示例:

    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            NSLog(@"该行代码只执行一次");
        });
    }
    

    注意: 大多数同学只知道用dispatch_once来做单例,但也别忽略了代码只执行一次的意思是在整个程序的运行周期内,适当的控制一些变量,可能会起到意想不到的效果。

    相关文章

      网友评论

          本文标题:dispatch_once

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