用iOS写一个生成单例的方法

来源:互联网 发布:c语言写入txt文件 编辑:程序博客网 时间:2024/06/06 02:42
1.写一个单例  (一个类只有一个实例)
#import
@interface DataModel : NSObject
@property (strong, nonatomic) NSString* imageUrl;
+(DataModel*)sharedModel;

@end

#import "DataModel.h"
@implementation DataModel
static DataModel* dataModel = nil;  //为单例对象实现一个静态实例,并初始化,然后设置成nil,
+(DataModel*)sharedModel
{
    if (dataModel == nil) {
        dataModel = [[DataModel alloc] init];//
实现一个实例构造方法检查上面声明的静态实例是否为nil,如果是则新建并返回一个本类的实例
    }
    return dataModel;
}

-(id)init
{
    if (self = [super init]) {
        self.imageUrl = [[NSString alloc] init];
    }  
    return self;
}
//重写allocWithZone方法,用来保证其他人直接使用alloc和init试图获得一个新实力的时候不产生一个新实例,
@end

2.在view1中
    DataModel* dataModel  = [DataModel sharedModel];
     dataModel.imageUrl = self.info.imageOriginalURL;
3.在view2中
   @property (retain , nonatomic) DataModel* datamodel;

   self.datamodel = [DataModel sharedModel];
   self.image.imageURL=[NSURL URLWithString:self.datamodel.imageUrl];
0 0
原创粉丝点击