Swift에서 간단하게 싱글톤(Singleton) 구현하기

2016-10-03
12 Views

Swift 언어에서 관리기반 소스코드를 작성시 싱글톤 구현을 요구하는 경우가 많다. 인스턴스로 여러가지가 있어도 문제가 있기 떄문에 그럴 때 유용하게 사용할 수 있는 방법을 소개한다.

일반 싱글톤

  • static let문
  • init를 private로 선언
  • 초기화가 인스턴스 생성이 간단한 경우에 사용

 

폐쇄를 사용한 싱글톤

  • static var문
  • init를 private로 선언
  • 인스턴스는 클래스내 {}에서 생성하고 return문으로 보냄
  • 폐쇄(Closer) 마지막에는 ()을 선언
  • 인스턴스 생성을 위해 파일 및 리소스를 제공하는등의 여러가지 조치를 취할 경우에 편리함

두가지 모두 싱글톤 객체 생성하기

init에 private이 선언되어 있기 때문에 기본적으로 직접 생성은 안되고 동일한 소스코드 파일에서 호출하는 경우 안된다.

 

 

Facebook Comments

You may be interested

Xcode 기능 확장(Extension) 제거하기
Xcode
shares3 views
Xcode
shares3 views

Xcode 기능 확장(Extension) 제거하기

MJ Kim - 3월 18, 2017

Mac에서 Xcode Source Editor Extension등의 기능확장을 사용하다보면 디버깅시 시스템 환경 설정의 확장이 앱에 등록되는 경우가 있다. 계속해서 목록이 남아 있기…

iOS App Store Review(앱 심사약관) 번역
Swift 3.0
shares112 views
Swift 3.0
shares112 views

iOS App Store Review(앱 심사약관) 번역

MJ Kim - 3월 15, 2017

App Store Review를 번역했다. 사실 이번에 좀 애매한 리젝을 당해서 그걸 이해하고자 정리해본다. 원문링크: https://developer.apple.com/app-store/review/guidelines/ 1. 이약관은? 1.1 앱 개발자로서 프로그램의…

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi
IoT by Raspberry Pi
shares7 views
IoT by Raspberry Pi
shares7 views

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi

MJ Kim - 3월 04, 2017

RPi1114-Raspberry Pi전원제어 모듈이 있다. 이 제품은 40Pin GPIO핀헤더에 연결하여 사용하는 모듈로 Cortax-M0마이크로컨트롤러 LPC1114를 내장하고 Raspberry Pi의 시작과 정지 순서등을 프로그래밍할…