zoukankan      html  css  js  c++  java
  • iOS ARC 下的单例模式

    #import <Foundation/Foundation.h>


    @interface RYSingleExample : NSObject<NSCopying>


    +(instancetype)singleExample;


    @end

    #import "RYSingleExample.h"


    static id _single;

    @implementation RYSingleExample

    +(instancetype)singleExample

    {

        if(_single==nil)

        {

            @synchronized(self)

            {

                if (_single==nil) {

                    _single=[[self alloc]init];

                }

            }

        }

        return _single;

    }


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

    {

        if(_single==nil)

        {

            @synchronized(self)

            {

                if (_single==nil) {

                    _single=[super allocWithZone:zone];

                }

            }

        }

        return _single;

    }


    -(id)copyWithZone:(NSZone *)zone

    {

        return _single;

    }




    @end

  • 相关阅读:
    数据库范式
    服务器防火墙
    Java垃圾回收(GC)机制详解
    Java内存模型
    类加载器
    Java类加载机制
    java虚拟机:Java内存区域及对象
    初识HashMap
    初识LinkedList
    java ArrayList
  • 原文地址:https://www.cnblogs.com/tangranyang/p/4713678.html
Copyright © 2011-2022 走看看