훌이
후리스콜링개발
훌이

블로그 메뉴

  • 왈 (iOS APP)
  • Github
전체 방문자
오늘
어제
  • 전체 (171)
    • ⭐️ 개발 (140)
      • JAVA (4)
      • Web (5)
      • iOS & Swift (94)
      • iOS Concurrency (4)
      • Rx (18)
      • Git (6)
      • WWDC (1)
      • Code Refactor (3)
      • Server (1)
    • ⭐️ Computer Science (22)
      • 운영체제 (10)
      • 네트워크 (5)
      • PS (7)
    • 경제시사상식 (8)
    • 기타 등등 (0)

인기 글

최근 글

05-26 09:17

티스토리

hELLO · Designed By 정상우.
훌이

후리스콜링개발

[Swift] 싱글턴 패턴 : Singleton Pattern이란?
⭐️ 개발/iOS & Swift

[Swift] 싱글턴 패턴 : Singleton Pattern이란?

2021. 5. 14. 03:03
728x90
반응형

📚 싱글턴 패턴  Singleton  Pattern

 

특정 용도로 객체를 하나만 생성하여,

공용으로 사용하고 싶을 때 사용하는 디자인 유형입니다.

 

예를 들어서, 유저의 정보를 저장하는 클래스가 있다고 할 경우에

 

VC1,  VC2, VC3에서 각각 id / pw / name을 따로 따로 가져온다고 하면

이런 식으로 가져오게 됩니다.

 

차례대로 VC1 / VC2 / VC3 

 

각각의 인스턴스에서 정보가 따로 따로 저장되고

VC1에서는 pw / name 정보가 nil

VC2에서는  id /  name 정보가 nil

VC3에서는 id / pw 정보가 nil 인 상태가 됩니다.

 

그렇지만 우리는 한 인스턴스 안에서 모든 정보 (id / pw / name) 가  저장되는 걸 필요로 합니다.

이렇게 해주기 위해서는 해당 인스턴스를 최초 생성 시에  전역으로  저장해두고 그 이후에 전역 인스턴스에 접근하도록 하는 방법을 사용하면 됩니다.

 

 

 


📚 싱글턴 패턴 사용법

 

static을 통해 인스턴스를 전역으로 저장할 프로퍼티를 하나 생성해줍니다.

아래 코드를 보면 static 키워드를 통해 shared라는 프로퍼티를 생성해 UserInfo 인스턴스를 저장해줬습니다.

 

 

그리고 static으로 선언해두었던 인스턴스를 통해 동일한 인스턴스에 접근할 수 있게 됩니다.

 

 

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'⭐️ 개발 > iOS & Swift' 카테고리의 다른 글

[Swift] Escaping Closure : 탈출 클로저란?  (0) 2021.05.14
[iOS] Alamofire를 통해 서버와 통신 해보기 - GET  (4) 2021.05.14
[iOS] 데이터 직접 전달 방식(3) - Delegation을 통해 전달  (1) 2021.04.30
[iOS] 데이터 직접 전달 방식(2) - Segue prepare 메소드를 통해 전달  (1) 2021.04.29
[iOS] 데이터 직접 전달 방식(1) - Property를 통해 전달  (1) 2021.04.29
    '⭐️ 개발/iOS & Swift' 카테고리의 다른 글
    • [Swift] Escaping Closure : 탈출 클로저란?
    • [iOS] Alamofire를 통해 서버와 통신 해보기 - GET
    • [iOS] 데이터 직접 전달 방식(3) - Delegation을 통해 전달
    • [iOS] 데이터 직접 전달 방식(2) - Segue prepare 메소드를 통해 전달
    훌이
    훌이

    티스토리툴바