美文网首页
单例类的创建

单例类的创建

作者: nalis风 | 来源:发表于2016-07-19 02:19 被阅读16次

1.+ 静态方法,一般用share

2.创建static 类对象

3.重写mutableCopy,copy,allocWithZone(类方法),init四个方法

if(..==nil){

创建一个单例很多办法,苹果官方文档中的写法:

static AccountManager *DefaultManager = nil;

+ (AccountManager *)defaultManager {

if(!DefaultManager) 

DefaultManager = [[self allocWithZone:NULL] init];

return DefaultManager;

}

在iOS4之后有了另外一种写法:

+ (AccountManager *)sharedManager

{

static AccountManager *sharedAccountManagerInstance = nil;

static dispatch_once_t predicate;

dispatch_once(&predicate, ^{

sharedAccountManagerInstance = [[self alloc] init];

});

return sharedAccountManagerInstance;

}

该写法来自objcolumnist,文中提到,该写法具有以下几个特性:

1. 线程安全。

2. 满足静态分析器的要求。

3. 兼容了ARC

相关文章

  • flutter之网络请求Dio

    创建Dio单例类 创建全局的dio单例类,不需要每次请求都创建Dio对象,节省系统开支创建NetManager类 ...

  • 单例模式

    特点 单例类只有1个实例对象 该单例对象必须由单例类自行创建 单例类对外提供一个访问该单例的全局访问点 结构 单例...

  • 单例模式

    1. 什么是单例模式? 创建单例类的方法叫单例模式. 单例类, 就是只能产生一个对象的类. 2. 为什么使用单例模...

  • 设计模式(单例模式)

    单例模式 单例模式有以下特点: 单例类只能有一个实例 单例类必须自己创建自己的唯一实例 单例类必须给所有其他对象提...

  • 单例模式

    一、定义与特点 单例模式的特点 单例类只有一个实例对象 该单例对象必须由单例类自行创建 单例类对外提供一个访问该单...

  • 第8章 使用RecyclerView显示列表

    单例与数据集中存储 单例是特殊的Java类,在创建实例时,一个单例类仅允许创建一个实例。应用能在内存里活多久,单例...

  • 单例模式、异常、模块

    单例模式 创建单例-保证只有1个对象 创建单例时,只执行1次init方法 目的 —— 让 类 创建的对象,在系统中...

  • 设计模式之单例模式

    单例模式 单例模式用来创建全局唯一的对象。一个类只允许创建一个对象(或者叫实例),那这个类就是一个单例类,这种设计...

  • 单例模式

    一. 单例模式的特点 单例类只能有一个实例 单例类必须创建自己唯一的实例 单例类必须给其他对象提供这一实例 二. ...

  • 每日一问(六)单例模式有几种?单例模式的优缺点

    单例模式的特点: 1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供...

网友评论

      本文标题:单例类的创建

      本文链接:https://www.haomeiwen.com/subject/whdmjttx.html