dispatch_once 的简单应用

来源:互联网 发布:nba2kol伦纳德2017数据 编辑:程序博客网 时间:2024/06/05 11:36


应用详情是;为了解决线请求数据再画图,并且多次请求数据,防止视图重复加载的问题.


1.刚开始使用方法

    staticdispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

        //画图

    });

结果发现,使用退出登录内容的时候崩溃发现 dispatch_once 并不会随着视图的dealloc而制空,而是整个程序

只走一次.


2.改进方法

在扩展里面声明成属性 @property(nonatomic,assign)dispatch_once_t onceToken;
      


然后在使用:

    dispatch_once(&_onceToken, ^{

     //画图

    });

这样就会再页面销毁(dealloc),在下次页面加载的时候可以继续画图了.







0 0
原创粉丝点击