首页 > 其他 > 详细

单例模式(oc)

时间:2016-03-05 00:20:18      阅读:146      评论:0      收藏:0      [点我收藏+]
//主函数 main.m
#import <Foundation/Foundation.h>
#import "Singleton.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
    
        Singleton *sing1=
        [Singleton shareInstance];
        Singleton *sing2=[Singleton shareInstance];
       
        Singleton *sing3=[Singleton new];
        Singleton *sing4=[[Singleton alloc]init];
        Singleton *sing5=[sing4 copy];
       
        NSLog(@"%@",sing1);
        NSLog(@"%@",sing2);
        NSLog(@"%@",sing3);
        NSLog(@"%@",sing4);
        NSLog(@"%@",sing5);
       
    }
    return 0;
}

//Singleton.h文件
#import <Foundation/Foundation.h>

@interface Singleton : NSObject<NSCopying>
+(Singleton *)shareInstance;
@end


//Singleton.m文件
#import "Singleton.h"

@implementation Singleton
static Singleton *singleton;
//单例方法
+(Singleton *)shareInstance{
    if (singleton==nil) {
        singleton=[[Singleton alloc]init];
    }
    return singleton;

}
//单例方法  初始化
+(instancetype)allocWithZone:(struct _NSZone *)zone{
//懒加载
if (singleton==nil) { singleton=[super allocWithZone:zone]; } return singleton; } //单例方法 复制 -(id)copyWithZone:(NSZone *)zone{ return self; } @end

 

单例模式(oc)

原文:http://www.cnblogs.com/qianLL/p/5243828.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!