반응형
Objective-C에서 Singleton 객체를 만드는방법은 다음과 같습니다.
// SingletonClass.h
#import! <Foundation/Foundation.h>
@interface SingletonClass : NSObject
{
}
+ (SingletonClass *)sharedSingletonClass;
@end
// SingletonClass.m
#import! "SingletonClass.h"
@implementation SingletonClass
+ (SingletonClass *)sharedSingletonClass
{
static SingletonClass *singletonClass = nil;
if(singletonClass == nil)
{
@synchronized(self)
{
if(singletonClass == nil)
{
singletonClass = [[self alloc] init];
}
}
}
return singletonClass;
}
@end
여기선 DCL(double-checked locking)을 사용하였는데, Objective-C에서도 최적화 과정에서 비교 구문의 instruction의 위치가 바뀐다면.. 엄밀히 말하면 100% 안전한 코드는 아니되겠습니다.
사용 방법은
SingletonClass *s = [SingletonClass sharedSingletonClass];
와 같이 하시면 됩니다.
출처 : http://b4you.net/blog/210
반응형
'Programming > iPhone' 카테고리의 다른 글
윈도우에서 오브젝티브-C 개발하기 환경구축 (0) | 2011.01.10 |
---|---|
아이폰 개발 - 사이트 모음 (0) | 2010.11.20 |
해킹에 이어 골드 앤 블랙 스킨 적용! (0) | 2010.06.30 |
파일 입출력 (0) | 2010.06.30 |
VMWare를 이용한 아이폰 개발 (0) | 2010.06.30 |