iOS开发之单例使用(宏)

原创 2016年06月01日 17:16:32

.h文件中

#define SKSingletonH(__className)\
+ (__className *)shareInstance;\

.m文件中

#define SKSingletonM(__className)\
\
static __className *_instance = nil;\
\
+ (__className *)shareInstance {\
    static dispatch_once_t onceToken;\
    dispatch_once(&onceToken, ^{\
        _instance = [[self alloc] init];\
    });\
    return _instance;\
}\
\
+ (instancetype)allocWithZone:(struct _NSZone *)zone {\
    static dispatch_once_t onceToken;\
    dispatch_once(&onceToken, ^{\
        _instance = [super allocWithZone:zone];\
    });\
    return _instance;\
}\
\
- (id)copy {\
    return _instance;\
}\
\
- (id)mutableCopy {\
    return _instance;\
}\


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS开发——单例的实现、使用与架构

单例在我们开发中是最常用的设计模式,在iOS中也是如此。单例可以保证某个类的实例在程序中是唯一的,便于进行资源和数据的共享。使用的设计原则是单一职责原则。我们来看看在iOS中本身自带的类或者方法哪些使...

iOS开发-Objective-C单例在ARC环境下的实现和理解

objective-c语言arc环境下的单例到底应该怎么实现呢?为什么呢?如何保证使用alloc,init,new,copy,mutableCopy等方法实例化出来的对象,依然是那个单例对象呢?...

黑马程序员——ios开发基础之OC中Foundation框架(二)、copy以及单例

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 第一讲 Foundation框架(二) 1、NSFileManager介绍和用法        ...

IOS开发之dispatch_once创建单例

单例是一种类,该类只能在第一次用的时候实例化一个对象,后期直接调用此对象(有点共享的意思)。 在Foundation框架中比如NSFileManger和NSNotificationCenter,分别...

ios开发中的基本设计模式(代理,观察者,MVC,单例,策略,工厂,MVVM,原型,Target-Action,通知(notification)机制)

(一)代理模式
 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。
 优势:解耦合
敏捷原则:开放-封闭原则
实例:tableview的 数据源delegate,通...

ios开发创建单例的两种方法

创建一个单例很多办法。我先列举一个苹果官方文档中的写法。   [cpp] view plaincopy static AccountManager *Defa...

【iOS开发】单例设计模式

iOS开发 单例设计 设计模式
  • LeoZZP_
  • LeoZZP_
  • 2015年03月29日 00:41
  • 413

iOS开发系列----UI(视图编程入门:Delegate、Block、单例、属性传值)

本章介绍三种逆向传值方式(Delegate、Block、单例)、一种正向传值方式(属性)Delegate传值: 核心代码: SecondViewController.h#import //声明协议...

iOS开发:单例(Static)模式

iOS开发:单例(Static)模式 单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 1.单例模式的要点:...

【iOS开发之Objective-C】单例的创建

1.什么是单例 在回答这个问题之前我们先来看看官方帮助文档是怎么写的。 这个是苹果给的解释,从这个示意图我们也可以叫较为清晰的明白是什么意思了。一个单例类无论应用程序请求多少回他都返回相同的实例。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发之单例使用(宏)
举报原因:
原因补充:

(最多只允许输入30个字)