iOS中单例的通用写法
来源:互联网 发布:程序员平均年龄 编辑:程序博客网 时间:2024/05/18 06:24
iOS中单例的通用写法(在ARC, MRC下可用), 增加了单线程访问限制.
single.h
#import <Foundation/Foundation.h>@interface ToolsMRC : NSObject <NSCopying>+ (instancetype)shareToolsMRC;@end
single.m
// 考虑MRC优化问题, 防止傻× release单例对象#import "ToolsMRC.h"@implementation ToolsMRCstatic id _instance;+ (instancetype)allocWithZone:(struct _NSZone *)zone { if (_instance == nil) { @synchronized(self) { if (_instance == nil) { _instance = [super allocWithZone:zone]; } } } return _instance;}+ (instancetype)shareToolsMRC { if (_instance == nil) { @synchronized(self) { if (_instance == nil) { _instance = [[self alloc] init]; } } } return _instance;}#pragma mark - 重写MRC相关方法- (oneway void)release { }- (instancetype)retain { return _instance;}- (NSUInteger)retainCount { return 1;}- (instancetype)autorelease { return _instance;}- (id)copyWithZone:(NSZone *)zone { return _instance;}@end
0 0
- iOS中单例的通用写法
- ios中单例的写法
- ios中单例的写法
- makefile的通用写法
- 通用ViewHolder的写法
- python代码的通用写法
- Makefile的一种通用写法
- 通用的ViewHolder工具写法
- 一个通用的Makefile写法
- Android 通用Dialog的写法
- springboot的通用BaseDAO写法
- iOS 通用代理的写法 一个代理添加多个执行函数
- Linux的Epoll的通用写法
- ios中单例的两种写法~~~
- ios中单例的写法和目的
- android解析xml的通用写法
- jquery checkbox 全选/全不选 的通用写法
- 数据录入窗口的通用写法
- 南阳题目57-6174问题
- c++算法之分解质因数
- 2946: [Poi2000]公共串 后缀数组
- 204. Count Primes
- 蛇形填数的递归实现
- iOS中单例的通用写法
- Java基础学习第二十一天——递归与字节流
- RHCE7.0-搭建基于NFS网络文件系统服务
- [POJ 2195]Going Home[费用流]
- HDU 3065 病毒侵袭持续中(AC自动机)
- HDU 4763 数据结构之KMP+二分
- CF 342div2 C 贪心
- HDU3613 Best Reward 3连发之manacher
- 素数筛选