标签: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]); }
标签:style blog color 使用 name 代码
原文地址:http://www.cnblogs.com/yang-guang-girl/p/3798906.html