美文网首页工作生活
单例模式的使用

单例模式的使用

作者: 0fbf551ff6fb | 来源:发表于2019-07-04 17:10 被阅读0次

new和alloc/init的区别 从_alloc和_zoneAlloc中可以看出,alloc 使用了_zoneAlloc , 它是给对象分配内存的时候,把关联的对象分配到一个相邻的内存区域内,以便于调用时消耗很少的代价,提升了程序处理速度。但如果使用new的话,初始化方法被固定死只能调用init.不能再使用init开头的其它初始化方法,

alloc和allocWithZone都是创建一个类实例的方法

不同之处在于,alloc无法指定一个NSZone来存储自己创建的实例,它最终调用的是allocWithZone(nil),使用的是系统给定的NSZone

allocWithZone可以指定自己的NSZone来存储自己创建的实例,如果zone传nil 它使用的就是系统给定的NSZone

+(instancetype)shareInsterse{

    static DanliModel *_model;

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

        _model = [[super allocWithZone:NULL]init];

    });

    return _model;

}

+(instancetype)allocWithZone:(struct _NSZone *)zone {

    return [self shareInsterse];

}

- (instancetype)copyWithZone:(NSZone *)zone {

    return self;

}

// mutableCopy 方法调用

- (instancetype)mutableCopyWithZone:(NSZone *)zone {

    return self;

}

相关文章

  • 【设计模式】单例模式

    单例模式 常用单例模式: 懒汉单例模式: 静态内部类单例模式: Android Application 中使用单例模式:

  • 单例模式之枚举类enum

    通过枚举实现单例模式 枚举类实现单例模式的优点 对于饿汉式单例模式和懒汉式单例模式了解的同学,使用以上两种单例模式...

  • 设计模式之一:单例模式

    摘要:设计模式之一:单例模式目录介绍1.单例模式介绍2.单例模式定义3.单例模式使用场景4.单例模式的实现方式 4...

  • 单例模式

    饿汉模式: 懒汉模式: Double CheckLock(DCL)实现单例 静态内部类实现单例 枚举单例 使用容器...

  • iOS开发中ARC环境下单例模式

    单例模式 1.1 概念相关 (1)单例模式 **(2)使用场合 ** 1.2 ARC实现单例 **(1)步骤 **...

  • C++单例模式的实现分析

    单例模式 什么是单例模式?我就不多做赘述了。移步至百度百科单例模式。 什么时候使用单例? 单例模式是一个经典的设计...

  • 面试题总结

    1.单例设计模式的实现,为什么使用单例模式?? static MusicManager ...

  • 使用Kotlin高效地开发Android App(五)完结篇

    一. 单例 使用 Java 来编写单例模式的话,可以写出好几种。同样,使用 Kotlin 也可以写出多种单例模式。...

  • 单例模式

    本文章采用循序渐进的方式对单例模式进行演化实现。 什么是单例模式,为什么要使用单例模式? 单例模式就是只允许创建一...

  • iOS 单例模式 or NSUserDefaults

    本文内容:iOS的单例模式NSUserDefaults的使用总结:iOS单例模式 and NSUserDefaul...

网友评论

    本文标题:单例模式的使用

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