싱글톤 클래스는 애플리케이션이 요청한 횟수와 상관없이 동일한 인스턴스를 반환합니다. 일반적인 클래스에서는 호출자가 원하는 만큼 클래스의 인스턴스를 만들 수 있지만 싱글톤 클래스에서는 프로세스당 클래스의 인스턴스가 하나
만 있을 수 있습니다. 싱글톤 개체는 해당 클래스의 리소스에 대한 전역 액세스 지점을 제공합니다. 싱글톤은 일반적인 서비스나 리소스를 제공하는 클래스와 같이 이 단일 제어 지점이 필요한 상황에서 사용
됩니다.
class UserInfo {
var name: String?
var age: String?
static let shared: UserInfo = UserInfo()
private init() { }
}
init()
을 private
으로 선언한다. -예외사항 존재 가능외부에서 해당 클래스 인스턴스에 아래와 같이 접근한다.
let sharedUserInfo = UserInfo.shared