用iOS写一个生成单例的方法
2014-04-27 15:44
246 查看
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];
#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];
相关文章推荐
- iOS开发小方法:根据UIColor一个颜色生成一张图片
- 【iOS】CoreImage原生二维码生成(二)一个方法生成带logo的二维码
- 一个ios生成ipa的简单方法
- ios项目生成ipa文件的真正简单可用的方法 待整理
- xcode5.0生成protobuf2.5 ios静态库的方法
- 一个定时器生成多路PWM波形的原理和方法
- 一个简单的生成静态页的方法
- iOS----将两个静态库(模拟器、真机)结合生成一个静态库
- 一个用ASP生成html的新方法
- Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法 - 清清月儿 .NET万花筒 Asp.net技术 Asp.net教程 Asp.net源码 Asp.net基础 Asp.net控件 Asp.net入门 - CSDNBlog
- Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法
- 【ios】ARC中重写NSObject的dealloc方法的一个小细节
- 一个简单的执行程序的GNU automake自动生成Makefile的方法及案例
- 多个图片文件夹生成一个大css文件的方法
- 生成GUID的一个很不错的方法
- Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法
- 如何判断一个类是否支持某属性和方法以及如何判断IOS的版本
- 一个iOS上的秒表小应用的实现方法分享
- 关于iOS中 遍历一个数组的方法