싱글톤 디자인 패턴이란 특정한 클래스의 인스턴스가 유일하게 하나만 존재하도록 디자인하는 패턴입니다.
예를 들자면, 간단하게 유저 정보를 저장하기 위한 목적으로 싱글톤 디자인 패턴을 사용할 수 있습니다.
아래와 같이 static 키워드를 통해 해당 클래스 타입의 상수를 클래스 속성으로 선언합니다. 이 때 IOS에서는 shared라는 이름을 많이 사용합니다. (ex. AVAudioSession.sharedInstance() )
class UserInformation {
static let shared: UserInformation = UserInformation()
var name: String?
var age: Int?
var addr: String?
}
이렇게 생성한 싱글톤 객체를 통해 여러 인스턴스들이 유일하게 존재하는 하나의 인스턴스(싱글톤 인스턴스)를 동일하게 사용할 수 있습니다.
단, 멀티스레딩에서는 동시에 한 싱글톤 인스턴스를 참조할 경우 문제가 생길 수 있기 때문에 주의해야하며 보안의 측면에서도 약점이 있을 수 있습니다.
'Swift' 카테고리의 다른 글
Swift - 스위프트 API 디자인 가이드라인 번역 링크! (0) | 2020.03.29 |
---|---|
Swift - Exception Handling(예외처리) (0) | 2020.02.15 |
Swift - Constants(상수) 다루기 with Static 키워드(typeProperty, type Method) (0) | 2020.01.29 |
Swift - for loop (0) | 2020.01.14 |
Swift - Extension (0) | 2020.01.14 |