博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Objective-C 单实例
阅读量:6671 次
发布时间:2019-06-25

本文共 1107 字,大约阅读时间需要 3 分钟。

#import 
@interface Singleton : NSObject + (Singleton*)sharedManager;
@end
#import "Singleton.h"static Singleton* sharedGizmoManager = nil;//static 静态实例是关键@implementation Singleton+ (Singleton*)sharedManager{    @synchronized(self){        if(sharedGizmoManager == nil) {            [[self alloc] init];// assignment not done here        }    }    return sharedGizmoManager;}//唯一一次alloc单例,之后均返回nil+ (id)allocWithZone:(NSZone*)zone{    @synchronized(self){        if(sharedGizmoManager == nil) {            sharedGizmoManager = [super allocWithZone:zone];            return sharedGizmoManager;  // assignment and return on first allocation        }    }    return nil; //on subsequent allocation attempts return nil}//copy返回单例本身- (id)copyWithZone:(NSZone*)zone{    return self;}//retain返回单例本身- (id)retain{    return self;}//引用计数总是为1- (unsigned)retainCount{    return UINT_MAX;  //denotes an object that cannot be released}//release不做任何处理- (oneway void)release{    }//autorelease返回单例本身- (id)autorelease{    return self;}@end

转载于:https://www.cnblogs.com/zhangdadi/archive/2012/11/19/2778054.html

你可能感兴趣的文章
实验一
查看>>
python 安装pip
查看>>
获得地址栏内的参数
查看>>
影响FPGA设计中时钟因素的探讨【转】
查看>>
make运行阶段划分
查看>>
cpio
查看>>
浅谈深度学习
查看>>
C++异常安全的赋值运算符重载 【微软面试100题 第五十五题】
查看>>
HDU 3535
查看>>
字符串指针
查看>>
ubuntu设置开机启动项
查看>>
进制与进制转换DAY2
查看>>
orcale 之 SQL 数据查询
查看>>
Unity引擎的Player Settings介绍
查看>>
Windows 更新的下载文件 保存位置
查看>>
[20180928]ora-01426(补充).txt
查看>>
[html] Doctype
查看>>
阅读笔记九
查看>>
求解形式幂级数的一阶微分方程
查看>>
life and penis
查看>>