swift문법

참고) 싱글톤패턴

화찌님 2022. 8. 23. 00:47

: 메모리상에 유일하게 1개만 존재하는 객체 

 

class DataManager {
	static let shared = DataManager()
    
    var userInfold = 12345
    
    private init() {} //>>또다른 객체 생성 금지
    
    func dataDownload() {
    	//작업정의
    }
}

static let 이름 = 객체생성()  >> 데이터 영역에 유일한 객체의 주소가 담겨있음

자기자신을 초기화해서, static let변수에 할당

 

앱이 실행하는 동안, 유일하게 1개만 필요하는 객체일때 사용

한번 생성이 되면, 앱이 종료할때까지 1개의 객체로써 메모리에 상주

다만, 실제 static변수로 선언된 것은 접근시에만 지연속성처럼 동작

 

외부에서 또 다른 새로운 객체 생성을 금지하고 싶은 경우 private init 메서드로 선언(선택적)

 


이 포스팅은 인프런에있는 엘런의 스위프트를 참고하여 작성하였습니다.