单实例的类的实现
来源:互联网 发布:vmware14 上安装linux 编辑:程序博客网 时间:2024/06/06 18:13
单实例的类的一个重要作用就是用于维护全局的的信息,它的实现类似乎下面:
//*****************头文件BasicInfoManager.h****************
#import <UIKit/UIKit.h>
@interface BasicInfoManager : NSObject {
NSString *appUserName; //需要管理的全局信息
}
@property (nonatomic, retain) NSString *appUserName;
+ (id)sharedManager;
+ (void)attemptDealloc;
@end
//*****************实现文件BasicInfoManager.m****************
#import "BasicInfoManager.h"
static BasicInfoManager *manager = nil;
@implementation BasicInfoManager
@synthesize appUserName;
+ (id)hiddenAlloc{
return [super alloc];
}
+ (id)sharedManager{
if (manager == nil) {
manager = [[[self class] hiddenAlloc] init];
}
return manager;
}
+ (id)alloc {
NSLog(@"%@: use +sharedInstance instead of +alloc", [[self class] description]);
return nil;
}
+ (id)new {
return [self alloc];
}
+ (id)allocWithZone:(NSZone *)zone {
return [self alloc];
}
- (id)copyWithZone:(NSZone *)zone {
NSLog(@"BasicInfoManager: attempt to -copy may be a bug.");
[self retain];
return self;
}
- (id)mutableCopyWithZone:(NSZone *)zone {
return [self copyWithZone:zone];
}
+ (void)attemptDealloc {
if ([manager retainCount] != 1)
return;
[manager release];
manager = nil;
}
+ (BOOL)sharedManagerExists {
extern BasicInfoManager *manager;
return (nil != manager);
}
- (void)dealloc{
[appUserName release];
[super dealloc];
}
@end
- 单实例的类的实现
- 单实例模式的实现
- 实现单实例的应用程序
- 单实例设计模式的实现
- 单实例设计模式的实现
- ATL COM 单实例的实现
- C#单实例运行的实现
- 守护进程的单实例实现
- 单实例设计模式的实现
- 守护进程的单实例实现
- 单实例设计模式的实现
- 单实例设计模式的实现
- 单实例设计模式的实现
- 守护进程的单实例实现
- 守护进程的单实例实现
- 单实例模式的实现(singleton)----单件
- 单实例的模式
- 利用C#线程机制实现应用程序的单实例运行
- 股票API之----------雅虎财经频道
- IP转换器 V2.6
- 股票API之----------新浪财经频道
- WIN7系统下OpenJtag和超级终端的安装
- Perl学习笔记
- 单实例的类的实现
- 资本性支出VS收益性支出;平均成本VS边际成本
- HttpHandler HttpModule入门篇
- 缓存技术
- 一次性读取数据的分页控件
- Hibernate之Configuration-SessionFactiory-Session
- 解决IIS的“Server Application Error”故障
- iphone gmail email push
- SQL语句集锦