iOS 싱글톤 객체 만드는 방법
개발/iOS 2017. 12. 1. 08:00반응형
iOS 에서 싱글톤 객체를 만들때 Thread Safe 하게 만들어야 합니다. 그래야 여러 Thread 에서 호출되더라도 동일한 객체가 생성되는 것을 보장하게 됩니다.
iOS 싱글톤 만드는 방법은 2가지가 있습니다. 각 방법의 예제를 살펴보겠습니다.
1) @synchronized 를 이용하여 생성하는 방법
1 2 3 4 5 6 7 8 9 10 | +(instancetype)Instance { static SampleClass *instace = nil; @synchronized(self) { instace = [[SampleClass alloc] init]; } return instace; } | cs |
2) GCD(Grand Central Dispatch) 를 이용하여 생성하는 방법
1 2 3 4 5 6 7 8 9 10 11 | +(instancetype)Instance { static SampleClass *instace = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ instace = [[SampleClass alloc] init]; }); return instace; } | cs |
2) 번의 경우는 iOS 4.0 이상에서 사용할 수 있습니다만 현재 deployment Target 최소버전이 8.0 인걸 감안한다면 두가지 방법 중 어떤걸 사용해도 상관없습니다.
반응형
'개발 > iOS' 카테고리의 다른 글
iOS 디바이스 크기 알아오기 (0) | 2018.06.07 |
---|---|
iOS String에 공백 제거 (Trim) (0) | 2018.01.18 |
리모트로 아이폰 패킷 캡쳐하는 방법 (1) | 2017.12.08 |
iOS - 아이폰 디자인 가이드 (0) | 2017.12.05 |
iOS 커스텀 폰트 등록하기 (0) | 2017.10.30 |
iOS 개발 시 StoryBoard (스토리보드) 없이 프로젝트 생성하기 (0) | 2017.10.27 |
iOS 사용가능한 폰트 목록 조회 (0) | 2017.10.25 |
iOS iCloud 백업 제외하기! (0) | 2017.10.19 |