SynthesizeSingleton.h,Object-c单例宏
来源:互联网 发布:女生百搭外套 知乎 编辑:程序博客网 时间:2024/05/29 18:42
//
// SynthesizeSingleton.h// CocoaWithLove
//
// Created by Matt Gallagher on 20/10/08.
// Copyright 2009 Matt Gallagher. All rights reserved.
//
// Permission is given to use this source code file without charge in any
// project, commercial or otherwise, entirely at your risk, with the condition
// that any redistribution (in part or whole) of source code must retain
// this copyright and permission notice. Attribution in compiled projects is
// appreciated but not required.
//
#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; \
}
#define SYNTHESIZE_SINGLETON_FOR_CLASS_INITMETHODS(className) \
\
+ (className *)shared##className { \
static className *shared##className = nil; \
static dispatch_once_t onceToken; \
dispatch_once(&onceToken, ^{ \
shared##className = [[self alloc] init]; \
[shared##className initConfig];\
}); \
return shared##className; \
}
以上为SynthesizeSingleton.h内容。
使用方法:(1)在类的h文件中添加 SYNTHESIZE_SINGLETON_FOR_HEADER(单例类)
(2)在类的m文件中添加 SYNTHESIZE_SINGLETON_FOR_CLASS_INITMETHODS(单例类);
(3)这样这个类就成为单例类,调用时直接使用[### shared###];
0 0
- SynthesizeSingleton.h,Object-c单例宏
- object-c 的runtime.h
- object.h
- object-c math.h里的数学计算公式介绍
- object-c math.h里的数学计算公式介绍
- object.h注释翻译
- Object-c Associated Object
- object-c中.m和.h文件及类的定义
- object-c中.m和.h文件及类的定义
- object-c math.h里 绝对值 取整与取余 指数与对数
- Object c的.h文件中字段和属性的区别
- object-c
- Object-C
- Object-c
- object-c
- object c
- Object C
- c .h
- POJ3278 HDU2717 Catch That Cow
- 数据结构实验之二叉树四:还原二叉树
- JavaScript强化教程——DOM编程性能优化
- #4 Ugly Number II
- 20年资深Oracle数据库专家:国内应用级DBA的缺失
- SynthesizeSingleton.h,Object-c单例宏
- 无偏性 VS 一致性
- (LeetCode)Pascal's Triangle --- 杨辉三角
- web.xml文件的作用及基本配置
- eth0 的一次意外故障
- Deep Learning for Content-Based Image Retrival:A Comprehensive Study 学习笔记
- leetcode 137. Single Number II -->hashmap
- 51单片机超高精度6路舵机控制程序
- 简单的对话框格式