Objective C ARC下的单例模版宏 ARC Singleton template
来源:互联网 发布:简约软件下载 编辑:程序博客网 时间:2024/05/18 03:19
之前写过一篇关于非ARC的单例模版宏的文章地址
但现在ARC的使用越来越广泛,原来的模版宏可能已经不是很适应,那介绍一下ARC版的模版宏的写法和用法
写法
ARCSingletonTemplate.h
#define SYNTHESIZE_SINGLETON_FOR_HEADER(className) \
\
+ (className *)shared##className;
#define SYNTHESIZE_SINGLETON_FOR_CLASS(className) \
\
+ (className *)shared##className { \
static className *shared##className = nil; \
static dispatch_once_t onceToken; \
dispatch_once(&onceToken, ^{ \
shared##className = [[self alloc] init]; \
}); \
return shared##className; \
}
基本是使用了 GCD中的dispatch_once接收一个在应用生命周期只会被调用一次的代码块,而且它还是线程安全的
用法
#import <Foundation/Foundation.h>
#import "ARCSingletonTemplate.h"
@interface AppPreference :NSObject
//使用宏模版生成单例所需要的code
SYNTHESIZE_SINGLETON_FOR_HEADER(AppPreference)
@end
AppPreference.m
#import "AppPreference.h"
@implementation AppPreference
//使用宏模版生成单例所需要的code
SYNTHESIZE_SINGLETON_FOR_CLASS(AppPreference)
//例子
- (void)sample{
AppPreference* appPreference = [AppPreferencesharedAppPreference];
}
@end
- Objective C ARC下的单例模版宏 ARC Singleton template
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- 17、Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective-C在ARC下结合GCD的单例模式和宏模版
- Objective C 的单例模式 Singleton with ARC
- Objective-C ARC单例模式
- .9的制作方式
- C++实现八皇后问题
- Asp.net考核试题
- XDU Problem 1033 - 实验室的新机子
- 一步一步图片演示新浪微博和CSDN博客同步步骤
- Objective C ARC下的单例模版宏 ARC Singleton template
- Delphi XE 3 处理JSON对象的基本功能示例
- Android-NDK编程入门笔记
- 杨辉三角
- IOS开发:当过度释放一个对象时
- android 少用static全局变量共享数据讨论
- C++二维数组
- Android-WebKit for android
- 关于switch