oc非ARC机制实现单例模式
2015-09-28 01:55
134 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/q397520151/article/details/48774717
//
// KIT.m
//
//
// Created by yz on 15/9/28.
// Copyright (c) 2015年 yz. All rights reserved.
//
import “KIT.h”
static KIT *_kit = nil;
@implementation KIT
+(instancetype)allocWithZone:(struct _NSZone *)zone
{
if (_kit == nil) {
static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ //此方法只会运行一次 _kit = [super allocWithZone:zone]; }); } return _kit;
}
-(instancetype)init
{
//只初始化一次
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_kit = [super init]; }); return _kit;
}
//此类方法等价于[类名 alloc]init]
+(instancetype)shareKit
{
return [[self alloc]init];
}
//此方法重写不能继承[super release]那样_kit==nil因为开始的时候已经分配好空间,这样就会让_kit一直等于nil实现不了单例子
-(oneway void)release
{
}
-(instancetype)retain
{
return self;
}
@end
相关文章推荐
- 深入ARC实现机制(一)
- 工厂模式加反射机制实现IOC
- 源码分析RocketMQ消息过滤机制上篇-----消息消费服务端过滤与TAG模式过滤实现
- php 反射机制实现代理模式
- Python的yield协程机制实现生产者-消费者模式
- Android实现类似ListView模式的回收和更新机制的瀑布流
- 代理模式 及 实现AOP 拦截机制
- 第02天多线程网络:(06):ARC环境下实现单例模式
- 观察者设计模式实现缓存机制
- 【转】Monitor Object 并发模式在 Java 同步机制中的实现
- 反射机制之 实现Proxy模式
- ANDROID的 BLUETOOTH 实现机制--中介模式和代理模式
- 利用反射机制实现工厂设计模式的高扩展性
- Unity教程之-Unity3d中基于订阅者模式实现事件机制
- 探索 Java 同步机制[Monitor Object 并发模式在 Java 同步机制中的实现]
- 实现一个简单的事件订阅通知机制(Observer模式实现)
- 非ARC情况下---用GCD实现单例模式
- 利用反射机制实现工厂设计模式的高扩展性
- 在C++中使用事件回调机制(通过Observer模式、函数指针等实现)
- 探索 Java 同步机制(Monitor Object 并发模式在 Java 同步机制中的实现)