iOS 【Multithreading-GCD一次性代码及其在单例模式的应用】
来源:互联网 发布:现金贬值知乎 编辑:程序博客网 时间:2024/06/05 15:26
有些时候,我们只希望某些操作只执行一次。GCD可以帮助我们实现:
static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ <#code to be executed once#> });
只需这段代码,然后将code写在大括号内就可以了。那么code就只会执行一次了。
内层执行原理:onceToken这个参数一开始是0,执行一次之后就变为了-1,且永远为-1。
这段代码是固定格式的,我们不必繁琐的敲出来,只需要按照Xcode的提示即可:
利用GCD的一次性代码去实现单例模式:
#import <Foundation/Foundation.h>@interface WZYTool : NSObject+ (instancetype)shareTool;@end
#import "WZYTool.h"@implementation WZYTool+ (instancetype)shareTool{ static WZYTool *_instance; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ _instance = [[self alloc]init]; }); return _instance;}@end
2 0
- iOS 【Multithreading-GCD一次性代码及其在单例模式的应用】
- 单例模式及其在iOS中的应用
- IOS学习 GCD 单例模式 一次性执行 涉及记录时间,计算时差
- GCD在单例设计模式中的应用
- IOS ARC和GCD结合的单例模式
- 单例模式及其在Android中的应用
- ios GCD 创建单例模式
- ios--GCD实现单例模式
- iOS--使用GCD实现单例模式
- GCD一次性代码
- iOS 开发 多线程详解之GCD应用延迟操作,单例设计模式,调度组
- ios 一次性代码的实现
- 【iOS】ARC-MRC下的单例及其应用
- 【iOS】ARC-MRC下的单例及其应用
- 【iOS】ARC-MRC下的单例及其应用
- iOS开发-GCD 常见用法二(一次性代码)
- 单例模式在spring的应用
- iOS GCD单例
- EditText编辑问题
- Android UI线程和非UI线程
- Makefile编写规则
- android listview 多次点击,响应跳转多次activity
- Android Apk加壳原理分析
- iOS 【Multithreading-GCD一次性代码及其在单例模式的应用】
- bzoj2756: [SCOI2012]奇怪的游戏
- java第四天
- 大数据- Hive
- CString转换为string的做法
- AggregationGlobal
- 来,给Entity Framework热热身
- 使用Maven运行Java main的3种方式
- 用PL/SQL Developer创建Oracle触发器以及触发器的一点点知识与出现的问题