본문 바로가기

iOS/STUDY

[iOS] Singleton

 Singleton 패턴을 사용하던 도중에 shared 로 선언할 뿐만 아니라 한가지를 더 추가해야한다는 사실을 알았다.

 

하나의 인스턴스로만 사용하기 때문에 외부에서 새로운 객체를 생성할 수 없도록 해야한다.

외부에서 생성할 수 없게 해야하기 때문에 initialize 함수를 private 으로 선언해야 외부에서 생성이 불가능하다.

 

고로 인스턴스 생성 + private init 함수 생성

 

을 해야 singleton 패턴을 사용할 수 있다.

 

예시

class UserInformation {
    static let shared: UserInformation = UserInformation()
    
    var id: String?
    var password: String?
    var checkPassword: String?
    var textView: String?
    
    func deleteInformation() {
        self.id = nil
        self.password = nil
        self.checkPassword = nil
        self.textView = nil
    }
    
    private init() {}
}

'iOS > STUDY' 카테고리의 다른 글

[iOS] segue로 데이터 전달  (0) 2021.03.19
[iOS] UITableView  (0) 2021.03.15
[iOS] UITextField 암호화 시 Strong Password  (0) 2021.03.08
[iOS] UIDatePicker, UIGestureRecognizer  (4) 2021.03.06
[iOS] Delegate  (4) 2021.02.09