美文网首页
模仿苹果方式单例

模仿苹果方式单例

作者: i大猫哥 | 来源:发表于2017-04-10 20:48 被阅读25次

苹果单例实现特点:
1.外界不能调用alloc方法,如果调用就抛异常。
2.提供一个方法给外界调用,生成对象。
3.内部创建一次单例,在程序启动的时候创建。(利用load方法)

代码引用:

#import "Singleton.h"

@implementation Singleton

// 静态变量
static Singleton *_instance = nil;

// 启动的时候创建对象(这个方法会在程序每次启动的时候,把类加载到内存中)
+(void)load
{
    _instance = [[self alloc]init];
}

+(instancetype)shareSingleton
{
    return _instance;
}

// 重写alloc方法
+(instancetype)alloc
{
    // 判断_instance是否已经存在
    if (_instance) {
        
        // 如果存在抛出异常
        // 创建异常
       NSException *singException = [NSException exceptionWithName:@"NSInternalInconsistencyException" reason:@"There can only be one Singleton instance" userInfo:nil];
        
        // 抛出异常
        [singException raise];
        
    }
   return  [super alloc];
}

@end

相关文章

  • 模仿苹果方式单例

    苹果单例实现特点:1.外界不能调用alloc方法,如果调用就抛异常。2.提供一个方法给外界调用,生成对象。3.内部...

  • 单例

    模仿苹果单例实现 static person *_instance = nil; 工作项目中用到的:

  • iOS 单例模式 - 单例对象销毁【@synchronized】

    单例对象的创建方式 单例.h 文件的实现 单例.m 文件的实现 单例对象的销毁【@synchronized创建方式...

  • iOS 单例模式 - 单例对象销毁【GCD】

    单例对象的创建方式 单例.h 文件的实现 单例的.m 文件的实现 单例对象的销毁【GCD创建的方式】 使用单例对象...

  • 8. 单例

    单例 1、GCD方式创建单例 2、互斥锁方式 销毁

  • 2. bean生命周期管理

    默认以饿汉式单例方式管理bean 修改为懒汉式单例方式管理bean 修改为非单例方式管理bean 配置工厂类与创建...

  • 单例模式的常用实现方式

    单例模式属于最常用的设计模式,Java中有很多实现单例模式的方式,各有其优缺点 实现方式对比 单例实现方式线程安全...

  • 设计模式--单例模式

    单例模式概述 单例模式实现方式 为什么要使用单例模式 单例模式实现方式 饿汉式 类加载后就会将对象加载到内存中,保...

  • Swift 单例传值

    回顾 Objc 创建单例的方式: 1.创建单例 2.给单例的属性赋值 3.输出单例的属性值

  • 完美的单例

    一、常见的单例实现方式 方式一(静态常量) 方式二(内部类) 方式三(懒加载) 二、常见单例实现方式的问题 方式一...

网友评论

      本文标题:模仿苹果方式单例

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