티스토리 뷰
h file...
@interface GlobalTest : NSObject {
NSString *msg;
}
+ (GlobalTest *)sharedSingleton;
m file...
@implementation Conf
static GlobalTest * _globalTest = nil;
- (id) init {
msg = @"Globall Value Test";
}
+(GlobalTest *)sharedSingleton
{
@synchronized([GlobalTest class])
{
if (!_globalTest)
[[self alloc] init];
return _globalTest;
}
return nil;
}
+(id)alloc
{
@synchronized([GlobalTest class])
{
NSAssert(_globalTest == nil, @"Attempted to allocate a second instance of a singleton.");
_globalTest = [super alloc];
return _globalTest;
}
return nil;
}
@interface GlobalTest : NSObject {
NSString *msg;
}
+ (GlobalTest *)sharedSingleton;
m file...
@implementation Conf
static GlobalTest * _globalTest = nil;
- (id) init {
msg = @"Globall Value Test";
}
+(GlobalTest *)sharedSingleton
{
@synchronized([GlobalTest class])
{
if (!_globalTest)
[[self alloc] init];
return _globalTest;
}
return nil;
}
+(id)alloc
{
@synchronized([GlobalTest class])
{
NSAssert(_globalTest == nil, @"Attempted to allocate a second instance of a singleton.");
_globalTest = [super alloc];
return _globalTest;
}
return nil;
}
호출시
#import "GlobalTest.h"
NSLog([[GlobalTest sharedSingleton] msg]);
#import "GlobalTest.h"
NSLog([[GlobalTest sharedSingleton] msg]);
변수에 값을 대입하고 싶으면 프로퍼티 선언 후
[[GlobalTest sharedSingleton] setMsg:@"text"];
[[GlobalTest sharedSingleton] setMsg:@"text"];
[출처] 전역변수 사용법 - 싱글톤|작성자 doghole
'개발 > 개발 자료' 카테고리의 다른 글
(Android) 웹뷰에서 PDF문서 열기 (0) | 2014.02.05 |
---|---|
JDK 버전별로 다운받는방법 (0) | 2014.02.02 |
(Android) 갤러리 이미지 다중선택하기 ( 여러장 선택 ) (6) | 2014.01.29 |
(Android) 전화가 끊겼을때의 이벤트 처리하기 (2) | 2014.01.22 |
[iPhone] HTTP Request/Response Wrapper 클래스 만들기 (0) | 2014.01.20 |
댓글