设计单例(简单)

.h文件的代码实现

#import <Foundation/Foundation.h>


@interface AddressBook : NSObject


+ (id)shareInstance;


@property(nonatomic,copy)NSString *phoneNum;


@end

.m文件的代码实现

//*  单例的命名 mainScreen  deflault..   shareInstance


static AddressBook *addressBook = nil; //GCD


@implementation AddressBook


+ (id)shareInstance {

    

    if (addressBook == nil) {

        

        addressBook =  [[AddressBook alloc] init];

        

    }


    

    

    return addressBook;

}


//实现一些限制方法,限制这个类只能创建一个对象,单例对象不能被销毁

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

    

    if (addressBook == nil) {

        

         addressBook = [super allocWithZone:zone];

    }

    

    return addressBook;

    


}

//使对象不被销毁

- (oneway void)release OBJC_ARC_UNAVAILABLE{

    //do nothing


}


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


    //正常情况:在此方法中重新alloc一个对象返回

    return self;


}


- (id)autorelease{


    return self;

}


- (id)retain{

    

    return self;


}


- (NSUInteger)retainCount{


    return -1;

}

简单的使用单例


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值