码迷,mamicode.com
首页 > 其他好文 > 详细

单例的2种使用方式

时间:2014-06-28 11:36:36      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   name   代码   

 

 

一直都对设计模式,限于书本的理论知识,今天终于用到了众多设计模式中的一种,单例模式。

 

一共有2种使用方法。第一种是用它里面的函数,第二种是用它里面的变量。

 

上代码:

 

第一种,用里面的函数。

 

单例.h

 

@interface NetManager : NSObject

+ (id)sharedManager;

-(void)firstPrintf;
-(void)secondPrintf;
-(void)threeprintf;
-(void)fourprintf;



@end

 

单例.m

 

static NetManager *manager;

@implementation NetManager

#pragma mark - 获取单例
+ (id)sharedManager{
    if (!manager) {
        manager = [[NetManager alloc]init];
    }
    return manager;
}

-(void)firstPrintf
{
    NSLog(@"first Printf!!!!");
}
-(void)secondPrintf
{
    NSLog(@"second printf!!!!!");
}
-(void)threeprintf
{
    NSLog(@"three printf!!!!!!!");
}
-(void)fourprintf
{
    NSLog(@"fourprintf!!!!!!");
}

 

单例的使用:

 

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    
    //单例的用法,单例中的函数,可以在程序中直接使用。
    [[NetManager sharedManager] firstPrintf];
    [[NetManager sharedManager] secondPrintf];
    [[NetManager sharedManager] threeprintf];
    [[NetManager sharedManager] fourprintf];
}

 

 

第二种,使用单例中的变量,这个在登陆的时候,用到的比较多。

 

单例.h部分

#import <Foundation/Foundation.h>

@interface UserInfo : NSObject

+ (id)sharedManager;

@property (nonatomic , retain) NSString* username;
@property (nonatomic , retain) NSString* password;

@end

 

单例的.m部分

 

#import "UserInfo.h"

static UserInfo * userInfo;

@implementation UserInfo


#pragma mark - 获取单例
+ (id)sharedManager{
    if (!userInfo) {
        userInfo = [[UserInfo alloc]init];
    }
    return userInfo;
}

 

 

单例的使用:

 

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    
    //给单例的变量赋值
    [[UserInfo sharedManager] setUsername:@"李华"];
    [[UserInfo sharedManager] setPassword:@"123456"];
    
    
    //打印单例的值
    NSLog(@"---userName----%@",[[UserInfo sharedManager] username]);
    NSLog(@"------password---%@",[[UserInfo sharedManager] password]);
    
    
}

 

 

 

单例的2种使用方式,布布扣,bubuko.com

单例的2种使用方式

标签:style   blog   color   使用   name   代码   

原文地址:http://www.cnblogs.com/yang-guang-girl/p/3798906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!