zoukankan      html  css  js  c++  java
  • 单例模式 饿汉式 ARC

    有了前两篇的文章这里直接给出代码,这种方法不是纯粹的饿汉式,比较懒汉式代码会容易一点点,但是苹果官方不推荐,了解一下就好. 

    此时没有多线程的困扰,使用之前就创建一个单例对象,此时还没有线程.所以不需要加锁.

    static id _instance = nil;

    +(void)load{//该类加载之后load就会被自动调用,

        _instance = [[self alloc] init];

    }

     alloc new 都会来到这里,所以在这里重写更合适.

    + (id)allocWithZone:(struct _NSZone *)zone

    {

              if (_instance == nil) { // 防止创建多次

                    _instance = [super allocWithZone:zone];

                }

             return _instance;

    }

    - (id)copyWithZone:(NSZone *)zone

    {

        return _instance;

    }

    + (instancetype)sharedMusicTool

    {

        return _instance;

    }

  • 相关阅读:
    WUST Online Judge
    WUST Online Judge
    WUST Online Judge
    WUST Online Judge
    写在前面
    一丶Python简介
    七丶Python字典
    六丶Python列表操作
    五丶Python列表丶元组丶字典
    四丶Python运算符
  • 原文地址:https://www.cnblogs.com/LDSmallCat/p/4955095.html
Copyright © 2011-2022 走看看