//
//  MapInfo.m
//  ArcGis
//
//  Created by Mac Book DQ02 on 16/4/8.
//  Copyright © 2016年 Xu Mengzhu. All rights reserved.
//

#import "MapInfo.h"

static MapInfo *mapInfo = nil;// 定义全局静态变量

@implementation MapInfo

// 重写alloc 方法封堵创建方法(调用alloc方法时 默认会走allocWithZone这个方法 所以只需封堵allocWithZone 方法即可)
+ (id)allocWithZone:(struct _NSZone *)zone
{
    if (!mapInfo) {
        mapInfo = [super allocWithZone:zone];//如果没有实例让父类去创建一个
        return mapInfo;
    }
    return nil;
}

+ (MapInfo *)shareMapInfo  //定义一个类方法进行访问(便利构造)
{
    if (!mapInfo) {
        mapInfo = [[MapInfo alloc]init];// 如果实例不存在进行创建
    }
    return mapInfo;
}


// 封堵深复制 （copy 和 mutablecopy 都可以实现深复制 但他们最终都需要调用copyWithZone方法所以直接封堵它）
- (id)copyWithZone:(struct _NSZone *)zone
{
    return self;
}

@end
