单例类的使用方法

来源:互联网 发布:淘宝买的牙齿矫正器 编辑:程序博客网 时间:2024/06/14 09:20
单例类是为了实现在类和类之间传值的过程中保持数据不变

创建一个继承自NSObject类的类: SinglePattern


SinglePattern.h: 

#import <Foundation/Foundation.h>

@interface SinglePattern : NSObject

//单例类中创建一个属性, 用来存放需要保持传值过程不变的数据

/**

 *  用来存储联系人数据

 */

@property(nonatomic, retain) NSMutableArray *contactsArray;



//通常单例类都是加号方法


#pragma mark 通过单例类创建一个唯一的对象. 通常使用类方法


+(SinglePattern *)shareSinglePattern;

@end





SinglePattern.m:

#import "SinglePattern.h"


@implementation SinglePattern


+(SinglePattern *)shareSinglePattern

{

    

    //定义一个静态的变量

    static SinglePattern *singlePattern = nil;

    

    if (singlePattern == nil) {

        

        singlePattern = [[SinglePattern alloc]init];

        

        

    }

    

    return singlePattern;

}

@end





在传值的类中引用SinglePattern类 , 创建一个对象, 并将需要传得值赋给singlePattern类中的属性, 

#pragma mark 使用单例对象来存储联系人信息

    

    SinglePattern *single = [SinglePattern shareSinglePattern];

    

    single.contactsArray = self.contactArray;

    


因为属性是static类型, 即只初始化一次, 在程序运行中除了第一次初始化,  其他时候都保持传值前和传值后数据一致.  再在需要数据的类中引用SinglePattern类, 在该类中创建singlePattern对象,

 SinglePattern *single = [SinglePattern shareSinglePattern];

NSLog:( @"%@", single.contactsArray );   


此时single.contactsArray的值为上边类中赋给该属性的值.

0 0
原创粉丝点击