黑马程序员 之 Objective-C 单例模式 学习记录
来源:互联网 发布:ubuntu下安装mysql5.7 编辑:程序博客网 时间:2024/06/06 02:55
单例模式,实则上是只有一个实例,某一个类只能有一个实例,它需要自行创建,并且要向整个系统程序提供这个实例。
1.单例模式的实现思路
1. 定义一个私有的实例
2. 用一个类方法,完成实例的共享(******核心*******)
3. 屏蔽有关创建销毁实例的方法,限制这个类只能创建一个对象
2.单例模式的应用场景
1.单例对象可以存储一些共享的信息,每个对象都能访问和修改
2.如果一个类的创建非常耗费性能,那么这个类最好设计为单例,只创建一次节约性能。
3.单例模式的代码实现
/****************************第一步****************************/
static ContactBook *shareBook = nil;
@implementation ContactBook
/****************************第二步****************************/
+ (ContactBook *) sharedInstance
{
@synchronized (self)
{
if (sharedBook == nil)
{
[[self alloc] init];
}
}
return shareBook;
}
/****************************第三步****************************/
+ (id) allocWithZone:(NSZone *)zone
{
@synchronized (self) {
if (shareBook == nil) {
shareBook = [super allocWithZone:zone];
return shareBook;
}
}
return nil;
}
- (id) copyWithZone:(NSZone *)zone
{
return self;
}
- (id) retain
{
return self;
}
- (unsigned) retainCount
{
return UINT_MAX;
}
- (oneway void) release
{
}
- (id) autorelease
{
return self;
}
- (id)init
{
@synchronized(self) {
[super init];//往往放一些要初始化的变量.
return self;
}
}
@end
0 0
- 黑马程序员 之 Objective-C 单例模式 学习记录
- 黑马程序员------java学习笔记之单例设计模式
- 黑马程序员-基础学习总结之单例设计模式
- 黑马程序员----OC学习之单例模式
- 黑马程序员Java学习笔记之单例设计模式
- Objective-C 设计模式之单例
- Objective-C之单例设计模式
- 黑马程序员-之单例设计模式
- Objective-C学习之创建单例
- 黑马程序员_学习记录06:静态以及单例设计模式
- 【黑马程序员】Objective-C语言学习笔记之小知识点
- 黑马程序员---Objective-C学习笔记之二
- 黑马程序员---Objective-C 学习笔记之三
- 黑马程序员——Objective-C学习之遍历字典
- 黑马程序员——Objective-C学习之NSDate\NSData
- 黑马程序员---Objective-C Foundation框架学习笔记之二
- 黑马程序员----Objective-C学习笔记之动态类型检测
- 黑马程序员----Objective-C学习笔记之构造方法
- 黑马程序员 之 Xcode程序调试
- 黑马程序员 之 Objective-C 语法整理
- 黑马程序员 之 c语言版开机计数
- 黑马程序员 之 Objective-C 关于init初始化的一些说明
- 黑马程序员 之 Objective-C 点语法
- 黑马程序员 之 Objective-C 单例模式 学习记录
- 【转载】黑马程序员 之 Objective-C NSArray的排序
- 【转载】黑马程序员 C复习 数组排序
- 【转载】黑马程序员 OC基础-20 copy、mutablecopy以及自定义复制功能
- 黑马程序员 之 iOS沙盒(sandbox)机制和文件操作(转)
- 黑马程序员 之 KVC 与 KVO (未加代码)
- 【Objective-C 重点知识整合】第一章 程序整体语法结构
- 【Objective-C 重点知识整合】第二章 数据类型
- 【Objective-C 重点知识整合】字符串NSString