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 |